这是 NOT 重复的问题,我曾搜索过每一个地方,但遗憾的是我没有找到任何解决方案。
我的问题我想在应用程序处于后台时播放音乐文件,它应该在调用任何本地通知时开始播放。
我有一个功能,我正在检查app是否存在于后台,然后我写了声明播放音乐文件,但是 [avaudioplayer play] 总是返回NO而不是。我已检查错误代码,但显示为空。
我还编辑了info.plist文件,将音频文件设置设置为在后台播放。
答案 0 :(得分:1)
设置音频会话像这样:( audioPlayer是AVPlayer的实例)
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSLog(@"inside observer");
if (self.audioPlayer.status == 1)
{
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
error:nil];
[[AVAudioSession sharedInstance] setActive:YES
error:nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self.audioPlayer play];
}
}
还有一件事要做的是在应用程序的appname-info.pist中添加一个字段,即“必需的背景模式”,并在这个名为“App播放音频”的数组中添加一个项目。
它肯定会起作用:)