2
私はMVMoviePlayerを使用してビデオを再生しています。今、再生ボタンをタップした後に黒い画面が表示され、ビデオの再生が開始されます。しかし、黒い画面は、ユーザの視点からいくらか違和感を覚えています。だから、私は一時停止状態からビデオを開始したい。 これを行うために、プレイする前にプレイヤーを一時停止状態にすることを考えました..再生前にビデオを一時停止状態にする
これを行う方法はありますか?
私はMVMoviePlayerを使用してビデオを再生しています。今、再生ボタンをタップした後に黒い画面が表示され、ビデオの再生が開始されます。しかし、黒い画面は、ユーザの視点からいくらか違和感を覚えています。だから、私は一時停止状態からビデオを開始したい。 これを行うために、プレイする前にプレイヤーを一時停止状態にすることを考えました..再生前にビデオを一時停止状態にする
これを行う方法はありますか?
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;
}
あなたが本当に列挙型識別子ではなく、それらの値を使用する必要があり
ます。if(player.loadState ==(MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable)&& player.playbackState == MPMoviePlaybackStatePlaying); – LearnCocos2D
あなたは正しいですが、MPMoviePlaybackStateには3のような列挙はありません。 Bitwise OR(MPMovieLoadStatePlayable | MPMovieLoadStatePlaythroughOK)を使用する必要があります。私はちょうど怠け者です。 – erkanyildiz
if(player.loadState ==(MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable) –