我有一个应用程序需要使用AVAudioSessionCategoryPlayback
为了在设备锁定或我的应用程序在后台时播放声音。 (这是一个闹钟功能。)所以我还需要在 UIBackgroundModes 列表中设置“音频”键。
我已将以下代码放入我的application:didFinishLaunchingWithOptions:
method:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
withOptions:AVAudioSessionCategoryOptionMixWithOthers
error:nil];
但是,我不想中断设备上已经播放的任何音乐。当我的应用程序启动时,它会导致 Spotify(例如)停止播放音乐。我可以切换到 Spotify 并按播放,当我切换回我的应用程序时,它会继续播放。
但这对用户来说非常烦人 - 闹钟并不是我的应用程序所做的唯一事情,而且他们启动它的原因有很多,但不涉及设置闹钟。我认为用户不会希望我的应用程序停止设备上播放的任何其他音频。
理想情况下我会never中断已经播放的音频。我也可以在设置闹钟时停止音频(此时我必须激活我的音频会话以确保我能够播放它),但似乎我无法避免音频停止在应用程序启动。
有什么方法可以在禁用音频会话的情况下启动我的应用程序,或者在已应用此选项的情况下启动它?
原来我打电话的是.prepareForPlayback()
在 AVAudioPlayer 上init()
早在我之前就被调用的方法didFinishLaunchingWithOptions:
fired.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)