2011-08-04 53 views
2

我使用MVMoviePlayer在應用中播放視頻。現在,點擊播放按鈕並開始播放視頻後會出現黑屏。但是,從用戶端角度來看,黑屏正在形成一些discofort。所以,我想從暫停狀態開始播放視頻。 爲了做到這一點,我想在播放之前將播放器置於暫停狀態。在播放前放置視頻暫停狀態

有沒有辦法做到這一點???

回答

4

你可以隱藏你的MPMoviePlayer,直到那令人討厭的黑色閃爍消失。

爲了確保黑忽悠走了,你可以檢查MPMoviePlayer的LoadState的是3(這意味着MPMovieLoadStatePlayable | MPMovieLoadStatePlaythroughOK)和playbackState爲1(這意味着MPMoviePlaybackStatePlaying

首先隱藏MPMoviePlayer

yourMPMoviePlayer.view.hidden = YES; 

只需添加一個觀察者時通知LoadState的變化:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(loadStateChanged:) 
              name:MPMoviePlayerLoadStateDidChangeNotification 
              object:nil]; 

,讓你MPMoviePlayer可見再次收到通知後,並滿足條件:

-(void)loadStateChanged:(NSNotification *)sentNotification 
{ 
    if (player.loadState == 3 && player.playbackState == 1) 
     yourMPMoviePlayer.view.hidden = NO; 
} 
你真正應該使用枚舉標識符,而不是它們的值
+3

:如果(player.loadState ==(MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable)&& player.playbackState == MPMoviePlaybackStatePlaying); – LearnCocos2D

+0

你是對的,但是沒有像MPMoviePlaybackState那樣的枚舉。你需要按位或他們(MPMovieLoadStatePlayable | MPMovieLoadStatePlaythroughOK)。我只是懶惰。 – erkanyildiz

+0

完美通過加入if(player.loadState ==(MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable) –