2

私のアプリには複数のビデオがあり、ユーザーが MPMoviePlayerController の次または前のボタンを押したときに、MPMoviePlayerController が特定の曲になるようにしたいのですが、MPMoviePlayerController には SeekingForward または Backward の通知しかないという問題があります。MPMoviePlayerController 内の FastForward および BackWard ボタンを使用して、前後の機能を実装する方法。

4

1 に答える 1

2

Appleはこれを使用してAVQueuePlayerと呼ばれる新しいクラスを導入しました。一度に多くのビデオを再生できます。このクラスは複数の映画の再生をサポートしていないMPMoviePlayerControllerを使用する価値があります。

AVQueuePlayerはIOS4.1から利用可能であり、それ以降はサブクラスAVPlayerです。AVPlayerに精通している場合

あなたは呼び出しで現在実行中の映画を変更することができます

[self.queuePlayer advanceToNextItem];

ここでサンプルコードを見ることができます

サンプルアプリケーションはこちらからダウンロードできます

別のアイデア(最悪の場合)。

で通知に登録する

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerPlaybackStateChanged:) name:MPMoviePlayerPlaybackStateDidChangeNotification object:nil];

そして、この関数をオブジェクトに追加します。

-(void)moviePlayerPlaybackStateChanged:(NSNotification *)notification {
    MPMoviePlayerController *moviePlayer = notification.object;
    MPMoviePlaybackState playbackState = moviePlayer.playbackState;
    // ...
}

これらのボタンのMPMoviePlaybackStateSeekingForwardおよび...SeekingBackwardの更新を取得していることに気付くと思います。

詳細はこちらをご覧ください

そして、MPMoviePlayerControllerに対応するURLを設定するか、対応するURLでMPMoviePlayerControllerを再度初期化します。

于 2012-08-06T07:18:32.563 に答える