apple - airplay iphone descargar
AVPlayer vs. AVAudioPlayer (3)
La documentación de AVPlayer establece lo siguiente:
[El] reproductor funciona igual de bien con archivos multimedia locales y remotos
Sin embargo, la documentación de AVAudioPlayer establece lo siguiente:
Apple recomienda que utilice esta clase para la reproducción de audio a menos que esté reproduciendo audio capturado de una transmisión en red
Para el trabajo que estoy haciendo, necesito algunas de las capacidades de AVAudioPlayer, pero todo mi audio está siendo transmitido. Lo principal que necesito de AVAudioPlayer que AVPlayer no tiene es la propiedad de "jugar". Es difícil construir una IU de jugador sin esa propiedad, entre otros.
Entonces, ¿cuál es la diferencia entre AVPlayer y AVAudioPlayer que hace que este último sea inadecuado para la transmisión en red? ¿Hay alguna manera de obtener parte de la información de AVPlayer que AVAudioPlayer proporciona, como la propiedad de "jugar"?
AVPlayer puede jugar desde AVPlayerItem usando AVURLAsset con una url de biblioteca de iPod. AVAudioPlayer no puede reproducirse desde la URL de la biblioteca de un iPod.
AVPlayer no tiene propiedad de volumen y requiere el uso de la configuración de volumen del sistema, que solo puede controlarse mediante el conmutador de hardware o un MPVolumeView. Pero puede establecer el volumen de mezcla de AVAudioPlayer.
AVPlayer parece informar un CurrentTime incorrecto después de buscar. Pero AVAudioPlayer informa con precisión.
7 años después ...
Desde un punto de vista con dependencia de Swift y CocoaPods, mi respuesta es comparar solo para iOS 8+ .
1. Soporte de biblioteca de iPod
2. control de volumen
soporte idéntico:
- Puede establecer el volumen de mezcla de
AVAudioPlayer
directamente. - Puede establecer el volumen de mezcla de
AVPlayer
con unaAVAudioMix
enAVPlayerItem
3. buscando control
tanto AVPlayer como AVAudioPlayer parecen informar un CurrentTime incorrecto después de buscar:
- para AVAudioPlayer, se sugiere
stop()
elAVAudioPlayer
antes de buscar - para AVPlayer, se sugiere pasar la opción
AVURLAssetPreferPreciseDurationAndTimingKey
al inicializar los juegos AVURLA. Y confíe en los valores dados por el bloqueo del observador .
4. cambio de fuente
- necesitas solo un
AVPlayer
para jugar múltiples archivos - necesitas múltiples
AVAudioPlayer
para jugar múltiples archivos
El AVPlayer en realidad tiene una propiedad similar a la propiedad de juego de AVAudioPlayer. Echa un vistazo a la propiedad de la rate
.