2011-08-04 16 views
2

私はMVMoviePlayerを使用してビデオを再生しています。今、再生ボタンをタップした後に黒い画面が表示され、ビデオの再生が開始されます。しかし、黒い画面は、ユーザの視点からいくらか違和感を覚えています。だから、私は一時停止状態からビデオを開始したい。 これを行うために、プレイする前にプレイヤーを一時停止状態にすることを考えました..再生前にビデオを一時停止状態にする

これを行う方法はありますか?

答えて

4

MPMoviePlayerは、その厄介な黒いちらつきがなくなるまで非表示にすることができます。

まず、あなたのMPMoviePlayerを隠す(MPMoviePlaybackStatePlayingを意味する)とplaybackStateは1である| MPMoviePlayerさんにloadStateが3である場合

は( MPMovieLoadStatePlaythroughOK MPMovieLoadStatePlayableを意味する)あなたがチェックすることができ、黒のちらつきがなくなっていることを確認するために、 loadStateが変化したとき
yourMPMoviePlayer.view.hidden = YES; 

ただ通知されるようにオブザーバを追加します。

[[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

ます。if(player.loadState ==(MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable)&& player.playbackState == MPMoviePlaybackStatePlaying); – LearnCocos2D

+0

あなたは正しいですが、MPMoviePlaybackStateには3のような列挙はありません。 Bitwise OR(MPMovieLoadStatePlayable | MPMovieLoadStatePlaythroughOK)を使用する必要があります。私はちょうど怠け者です。 – erkanyildiz

+0

if(player.loadState ==(MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable) –

関連する問題