2017-05-04 25 views
0

我正在使用MPMoviePlayerController在遠程URL上播放視頻。當我重複使用播放器播放多個視頻並且url不指向視頻時,控制器不會發回任何通知。我試過了MPMoviePlayerPlaybackDidFinishNotification,MPMoviePlayerPlaybackStateDidChangeNotification和MPMoviePlayerLoadStateDidChangeNotification。他們都沒有被派出。如何使用MPMoviePlayerController處理無效的URL

我也嘗試做一個自定義超時函數,並調用下面的播放器的停止函數。但是,沒有任何反應。 MPMoviePlayerController似乎在那裏無所事事。

[self performSelector:@selector(checkTimeout) withObject:theMovie afterDelay:15]; 
 

 
-(void) checkTimeout { 
 
    [self.moviePlayer stop]; 
 
}

有誰知道如何處理無效網址的MPMoviePlayerController?

+0

顯示一些附加代碼 –

回答

0

我自己找到了一種解決方案。

看來MPMoviePlayerController在播放多個網址時有問題。如果第二個網址未指向視頻或無效,則播放器不會執行任何操作。所以,我最終爲每個網址創建了一個MPMoviePlayerController的新實例,並收聽MPMoviePlayerPlaybackDidFinishNotification。

0

如果您沒有收到無效通知,那麼您應該運行持續時間最長的計時器(initialplaybacktime,0),並且一旦在此時間內沒有收到MPMoviePlayerReadyForDisplayDidChange notification,則會生成視頻不可用的錯誤。

+0

播放器已添加到用戶界面並播放至少一個視頻。你的解決方案在這種情況下工作嗎? – jarly

+0

無論加載了多少視頻並將玩家添加到用戶界面,一旦在播放器中加載了新的url,再次重新安排定時器。 – NeverHopeless