这不是我在每个地方都搜索过的重复问题,但不幸的是我没有找到任何解决方案。
我的问题我想在应用程序处于后台时播放音乐文件,它应该在调用任何本地通知时开始播放。
我有一个功能,我正在检查应用程序是否存在于后台,然后我写了播放音乐文件的语句,但[avaudioplayer play]总是返回 NO。我检查了错误代码,但它显示为空。
我还编辑了 info.plist 文件以将音频文件设置设置为在后台播放。
这不是我在每个地方都搜索过的重复问题,但不幸的是我没有找到任何解决方案。
我的问题我想在应用程序处于后台时播放音乐文件,它应该在调用任何本地通知时开始播放。
我有一个功能,我正在检查应用程序是否存在于后台,然后我写了播放音乐文件的语句,但[avaudioplayer play]总是返回 NO。我检查了错误代码,但它显示为空。
我还编辑了 info.plist 文件以将音频文件设置设置为在后台播放。
像这样设置音频会话:(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 播放音频”的项目。
那么它肯定会起作用:)