2016-02-28 31 views
0

我的問題不在於檢查直播網址是否有效,而是如果它是可播放的。在將它加載到UIWebView之前,是否可以檢查直播網址是否可播放?

目前,我將一個.m3u8擴展名的直播視頻網址加載到UIWebView

有時候,直播不可播放,但它仍然可以訪問。我想以某種方式確定網址是否可播放,並在屏幕上顯示一條消息,指出「livestream down ...」,而不是灰色的UIWebView窗口,其播放按鈕在點擊時不會執行任何操作。

這是可能的或任何人都可以提出一種替代方法?

謝謝

+0

只是一個想法...怎麼樣使用nsurlconnection開始流式傳輸,並檢查您是否收到數據? –

+0

你可以先嚐試canOpenUrl。 –

回答

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, 
}; 

因爲MPMoviePlayerController是在iOS 9不贊成我建議以搜索對於最近的iOS版本,使用AVPlayerViewController以上。

相關問題