在将直播网址加载到UIWebView之前,是否可以检查直播网址是否可播放?

时间:2016-02-28 08:13:51

标签: ios uiwebview

我的问题不在于检查直播网址是否有效,而是在于它是否可播放。

目前,我将带有.m3u8扩展名的直播视频网址加载到UIWebView

有时,直播无法播放,但仍可访问。我想以某种方式确定网址是否可播放并在屏幕上显示一条消息,说明"直播下来......"而不是灰色的UIWebView窗口,其中有一个播放按钮,在点击时不会执行任何操作。

这是可能的,还是有人可以提出替代方法?

由于

1 个答案:

答案 0 :(得分:0)

我建议使用指定播放器播放这些文件。如果您使用WebView播放这些文件,则可以先在播放器中加载它们以进行状态检查。这是一个关于如何做的MPMoviePlayerController示例:

MPMoviePlayerController *player =  [[MPMoviePlayerController alloc] initWithContentURL:audioUrl];
[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(loadStateDidChange:)                                                 name:MPMoviePlayerLoadStateDidChangeNotification 
                                           object:player];
if ([player respondsToSelector:@selector(loadState)]) 
{
...
}

检查loadState会告诉您流的状态:

enum {
   MPMovieLoadStateUnknown        = 0,
   MPMovieLoadStatePlayable       = 1 << 0,
   MPMovieLoadStatePlaythroughOK  = 1 << 1,
   MPMovieLoadStateStalled        = 1 << 2,
};

由于在iOS 9上已弃用MPMoviePlayerController,我建议您使用AVPlayerViewController为最近的iOS版本搜索上述等效内容。