10

MPMoviePlayerController を使用する場合、再生ボタンは「次へ」および「前へ」ボタンで囲まれます。

クリックされたときに通知を受け取るにはどうすればよいですか? MPMoviePlayerController にコンテンツのリスト (配列) を供給する方法はありますか?

4

3 に答える 3

6

ネイサンは、ボタン通知が必要な場合、プレーヤーに独自のUIを実装する必要があることについて正しいです。ただし、再生状態に関する通知をプレーヤーから受け取ることができます。

AddMusicの例から、selfはMPMusicPlayerControllerのインスタンスを含むコントローラーまたはモデルです。

- (void) registerForMediaPlayerNotifications {

    NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];

    [notificationCenter addObserver: self
                           selector: @selector (handle_NowPlayingItemChanged:)
                               name: MPMusicPlayerControllerNowPlayingItemDidChangeNotification
                             object: musicPlayer];

    [notificationCenter addObserver: self
                           selector: @selector (handle_PlaybackStateChanged:)
                               name: MPMusicPlayerControllerPlaybackStateDidChangeNotification
                             object: musicPlayer];

    /*
     // This sample doesn't use libray change notifications; this code is here to show how
     //     it's done if you need it.
     [notificationCenter addObserver: self
     selector: @selector (handle_iPodLibraryChanged:)
     name: MPMediaLibraryDidChangeNotification
     object: musicPlayer];

     [[MPMediaLibrary defaultMediaLibrary] beginGeneratingLibraryChangeNotifications];
     */

    [musicPlayer beginGeneratingPlaybackNotifications];
}
于 2009-07-17T03:31:11.160 に答える
4

ユーザーが次/前のボタンを押しても通知は生成されません (これについてはバグを報告する必要があります)。そのため、承認されていないビュー クロールなしでこれを解決する唯一の方法は、独自のビデオ オーバーレイ ビューを実装することです。

MPMoviePlayerController* moviePlayer = [[MPMoviePlayerController alloc]
    initWithContentURL:someUrl];
moviePlayer.movieControlMode = MPMovieControlModeHidden;
[moviePlayer play];

NSArray* windows = [[UIApplication sharedApplication] windows];
if ([windows count] > 1) {
  UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
  [moviePlayerWindow addSubview:yourCustomOverlayView];
}

理想的ではありませんが、標準のコントロールは非常に簡単に再実装できます。

于 2009-07-16T12:52:32.147 に答える
0

あなたが をあまりコントロールしていないと思いますMPMoviePlayerController。これは、基本的にムービーの再生を開始および停止できる標準コンポーネントであり、それ以外は何もしません。

于 2009-07-16T03:02:51.680 に答える