Cómo alternar entre secuencias de audio alternativas usando AVPlayer

Tengo una aplicación de testing que utiliza AVPlayer para reproducir videos especificados por una list de reproducción de HLS m3u8. La list de reproducción especifica varias secuencias de audio alternativas, similar a la list de reproducción de muestra "Listado 10" proporcionada por Apple que se encuentra aquí: http://developer.apple.com/library/ios/#technotes/tn2288/_index.html#//apple_ref/ doc / uid / DTS40012238-CH1-ALTERNATE_MEDIA La aplicación debe poder cambiar entre las secuencias de audio alternativas mientras se reproduce el video. Por ejemplo, la aplicación debe poder cambiar entre las secuencias de audio en inglés, francés y español por los botones de toque del usuario en la aplicación mientras se reproduce el video.

¿Qué classs y methods de AVFoundation serían utilizados por AVPlayer y sus objects relacionados para cambiar entre las secuencias de audio especificadas en la list de reproducción m3u8? He mirado la documentation de la class AVFoundation pero no veo cómo hacer esto.

Un enlace a un código de ejemplo que muestra cómo hacer esto sería genial. He estado buscando en la web esta información sin éxito. Gracias por cualquier ayuda en esto.

Para la reproducción m3u8 con AVPlayer, parece que no puede usar un AVAsset para build un AVPlayerItem. Necesita build un AVPlayerItem directamente desde el URI. Al crear una instancia de AVPlayer con este AVPlayerItem, y luego escuchar a KVO en la propiedad @ "status", tendrá un activo dentro del activo [[avPlayerInstance currentItem] asset] si el estado es AVPlayerStatusReadyToPlay. Esto se describe en la página 20 de la Guía de progtwigción de AV Foundation .

Para cambiar el audio a varios suplentes use:

 AVMediaSelectionGroup *audioSelectionGroup = [[[avPlayerInstance currentItem] asset] mediaSelectionGroupForMediaCharacteristic: AVMediaCharacteristicAudible]; NSLog(@"audioSelectionGroup: %@", audioSelectionGroup); // [audioSelectionGroup options] // Array of the options in the group above. 

Y select AVMediaSelectionOption (el canal de audio que desee) con:

 [[avPlayerInstance currentItem] selectMediaOption:avMediaSelectionOptionInstance] inMediaSelectionGroup: audioSelectionGroup]; 

Lo mismo funcionará para el video.

Esto se describe en la sección "Selección de medios de audio y subtítulos según el idioma y otros criterios" de las Notas de la versión AV Foundation para IOS 5 (3ª sección).