2012-01-10 10 views
10

Implementé la reproducción de audio con AVPlayer, reproduciendo una URL de mp3 remota.MPNowPlayingInfoCenter nowPlayingInfo ignorado para el audio de AVPlayer a través de AirPlay

Quiero mostrar la información sobre el audio que se está reproduciendo actualmente utilizando el método MPNowPlayingInfoCenternowPlayingInfo.

Cuando bloqueo la pantalla, veo la imagen y el título que configuro, así que sé que este método está registrando la información de alguna manera, pero cuando cambio a AirPlay a AppleTV, la pantalla parece genérica salida de video, con la barra de progreso en la parte inferior, pero el tiempo transcurrido y la duración se muestran correctamente.

Si configuro este mismo nowPlayingInfo, pero luego empiezo un poco de audio usando un AudioQueue, luego muestra correctamente la imagen en la mitad de la pantalla (se parece a un podcast con la aplicación iPod/Música).

¿Es esto solo una limitación del soporte de AirPlay para audio con AVPlayer, o hay alguna forma de que muestre la imagen y la información correctamente?

Respuesta

13

Ok - Excave a través de los foros de apple dev y encontré una pista.

Si está utilizando AVPlayer solo para audio y desea que funcione en segundo plano mientras realiza airplay, debe desactivar la configuración allowsAirPlayVideo.

Aparentemente AVPlayer en iOS 5+ asume que está reproduciendo video a través de AirPlay, y por lo tanto no permite la creación de fondo, a menos que desactive explícitamente el video AirPlay.

Una vez que deshabilite esto (es decir, self.player.allowsAirPlayVideo = NO;), su audio se reproducirá a través de AirPlay, pero ahora mostrará correctamente la interfaz de audio/ipod.

+0

Si agrego 'existe player.allowsExternalPlayback = false' ningún vídeo o sonido a través de AirPlay :( – anitteb

4

Si estás en iOS7 tienes que desactivar la reproducción externa:

self.player.allowsExternalPlayback = NO;

Cuestiones relacionadas