我的问题不在于检查直播网址是否有效,而是在于它是否可播放。
目前,我将带有.m3u8扩展名的直播视频网址加载到UIWebView
。
有时,直播无法播放,但仍可访问。我想以某种方式确定网址是否可播放并在屏幕上显示一条消息,说明"直播下来......"而不是灰色的UIWebView
窗口,其中有一个播放按钮,在点击时不会执行任何操作。
这是可能的,还是有人可以提出替代方法?
由于
答案 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版本搜索上述等效内容。