3

ミラーリングをチェックするかどうかに関係なく、iOS 5で画面の接続/切断の通知を受け取っている人はいますか?AirPlayを使用する代わりに、ビデオ出力ケーブルをデバイスに接続しない限り、通知が届かないようです。

私のアプリにはMPVolumeViewが提供するAirPlayボタンがあります。タップしてAppleTVを選択できます。AirPlayボタンが青色に変わります。通知がありません。

「再生中」画面(ダブルクリックして一方の端までページを移動)に移動し、AppleTVを選択できます。AirPlayアイコンが青色に変わると確認が取れます。私のアプリは確認を受け取りません(アプリに戻った後でも)。

「再生中」画面に移動し(ダブルクリックして一方の端にページを移動)、AppleTVを選択してミラーリングを選択します。AirPlayアイコンが青色に変わると確認が取れます。私のアプリは確認を受け取りません(アプリに戻った後でも)。

アプリを終了し、ミラーリングをオンのままにします。アプリを再起動します。画面数をチェックするコードがあります。1つしか見えません。

私は何か間違ったことをしていることを望んでいますが、AirPlayを使用しているときに他の人が通知を受け取っていることを確認して確認したいと思います。5.0ベータ期間中にAirPlayの互換性をテストし、これらの問題が発生しなかったことを思い出します。

(AppleのExternalDisplayサンプルは同じように動作しています。)

通知登録に使用するコード:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(screenDidConnect:)
                                             name:UIScreenDidConnectNotification
                                         object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(screenDidConnect:)
                                             name:UIScreenDidDisconnectNotification 
                                           object:nil];

通知が呼び出す必要のあるコード:

- (void) screenDidConnect:(NSNotification *)notification {
    if ([[UIScreen screens] count] > 1) 
        [self myScreenInit:[notification object]];
    else {
         ...
    }
4

1 に答える 1

4

iOS 5.0 以降では、次の場合にのみ通知を受け取ることがわかりました。

  • iPad 2 または iPhone 4s および
  • デバイスの「再生中」画面でミラーリングをオンにする必要があります (ホームボタンを 2 回タップし、一番左のページに移動し、AirPlay アイコンをタップし、AppleTV を選択してミラーリングをオンにします)。これは奇妙に思えますが、それが機能する方法です。ミラーリングなしで AirPlay AppleTV を選択するだけで、AVPlayer のフレームワーク内に表示されるコンテンツに AppleTV を使用できます。

HDMI ケーブルを使用すると、より多くのデバイスが UIScreen を使用してセカンド スクリーンを利用できます。

于 2011-10-29T09:10:09.253 に答える