iphone - plano - ¿Cómo puedo detectar si otras aplicaciones están reproduciendo audio de fondo?
youtube segundo plano iphone 2017 (2)
Finalmente me di cuenta de esto. Había visto muchos ejemplos, pero nunca los pude hacer funcionar.
La mayoría de los ejemplos que existen no indican eso para algo como:
UInt32 propertySize, audioIsAlreadyPlaying;
propertySize = sizeof(UInt32);
AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying, &propertySize, &audioIsAlreadyPlaying);
para trabajar, el marco adecuado para agregar a su aplicación es AudioToolbox. Seguí tratando de agregar otros marcos de audio y siempre lo perdí.
Una vez que agregue ese marco de trabajo (e impórtelo al archivo de código en cuestión) simplemente pruebe para ver si audioIsAlreadyPlaying es cero o uno.
Estoy haciendo un juego para iphone / ipad, y no quiero que mi música de fondo interfiera con la música que el usuario podría estar reproduciendo.
Sé que puedo obtener el estado de la aplicación iPod utilizando MPPlayerController, pero ¿cómo sabría mi aplicación si algo más, como Pandora, estuviera reproduciendo audio de fondo en iOS4?
AudioSessionGetProperty
(como se menciona en la respuesta de gotung) está en desuso a partir de iOS 7.
En cambio, prueba este one-liner que usa isOtherAudioPlaying :
BOOL isOtherAudioPlaying = [[AVAudioSession sharedInstance] isOtherAudioPlaying];
Funciona en iOS 6+.