2
我使用MVMoviePlayer在應用中播放視頻。現在,點擊播放按鈕並開始播放視頻後會出現黑屏。但是,從用戶端角度來看,黑屏正在形成一些discofort。所以,我想從暫停狀態開始播放視頻。 爲了做到這一點,我想在播放之前將播放器置於暫停狀態。在播放前放置視頻暫停狀態
有沒有辦法做到這一點???
我使用MVMoviePlayer在應用中播放視頻。現在,點擊播放按鈕並開始播放視頻後會出現黑屏。但是,從用戶端角度來看,黑屏正在形成一些discofort。所以,我想從暫停狀態開始播放視頻。 爲了做到這一點,我想在播放之前將播放器置於暫停狀態。在播放前放置視頻暫停狀態
有沒有辦法做到這一點???
你可以隱藏你的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;
}
你真正應該使用枚舉標識符,而不是它們的值
:如果(player.loadState ==(MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable)&& player.playbackState == MPMoviePlaybackStatePlaying); – LearnCocos2D
你是對的,但是沒有像MPMoviePlaybackState那樣的枚舉。你需要按位或他們(MPMovieLoadStatePlayable | MPMovieLoadStatePlaythroughOK)。我只是懶惰。 – erkanyildiz
完美通過加入if(player.loadState ==(MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable) –