13

AVPlayer を使用してオーディオ再生を実装し、リモート mp3 URL を再生しました。

MPNowPlayingInfoCenter nowPlayingInfoメソッドを使用して、現在再生中のオーディオに関する情報を表示したいと考えています。

画面をロックすると、設定した画像とタイトルが表示されるので、このメソッドが何らかの方法で情報を登録していることはわかっていますが、AirPlay から AppleTV に切り替えると、ディスプレイは一般的なビデオ出力のように見えます。下部に進行状況バーが表示されますが、経過時間と期間が正しく表示されます。

これを同じに設定nowPlayingInfoし、AudioQueue を使用してオーディオを開始すると、画面の半分に画像が適切に表示されます (iPod/Music アプリでポッドキャストを再生しているように見えます)。

これは AVPlayer を使用したオーディオの AirPlay サポートの単なる制限ですか、それとも画像と情報を適切に表示する方法はありますか?

4

2 に答える 2

15

わかりました-Apple devフォーラムを掘り下げて、ヒントを見つけました。

AVPlayer をオーディオのみに使用していて、エアプレイ中にバックグラウンドで動作させたい場合は、allowsAirPlayVideo設定を無効にする必要があります。

どうやら iOS 5 以降の AVPlayer は、AirPlay 経由でビデオを再生していると想定しているため、ビデオの AirPlay を明示的に無効にしない限り、バックグラウンドを許可しません。

これを無効にすると (つまりself.player.allowsAirPlayVideo = NO;)、オーディオは引き続き AirPlay 経由で再生されますが、オーディオ/iPod のようなインターフェイスが正しく表示されるようになります。

于 2012-01-10T18:55:20.650 に答える
7

iOS7 を使用している場合は、外部再生を無効にする必要があります。

self.player.allowsExternalPlayback = NO;

于 2014-01-14T14:53:01.557 に答える