Iphone 使用AVAudioPlayer在不停止ipod音乐的情况下在后台播放声音
在我的应用程序中,在特定的时间,我使用Iphone 使用AVAudioPlayer在不停止ipod音乐的情况下在后台播放声音,iphone,ios,avaudioplayer,avaudiosession,Iphone,Ios,Avaudioplayer,Avaudiosession,在我的应用程序中,在特定的时间,我使用AVAudioPlayer播放嘟嘟声提醒用户 现在,我希望即使在应用程序处于后台时也能播放此声音。因此,我可以通过将AVAudioSession类别设置为AVAudioSessionCategoryPlayback来实现这一点,我还希望此声音不会停止ipod音乐,我可以使用它设置AVAudioPlayer类别AvaudioSessionCategoryBient 但我希望它们在一起意味着声音也应该在背景中播放,而且不应该停止ipod音乐 那么我如何才能做到这
AVAudioPlayer
播放嘟嘟声提醒用户
现在,我希望即使在应用程序处于后台时也能播放此声音。因此,我可以通过将AVAudioSession
类别设置为AVAudioSessionCategoryPlayback
来实现这一点,我还希望此声音不会停止ipod音乐,我可以使用它设置AVAudioPlayer
类别AvaudioSessionCategoryBient
但我希望它们在一起意味着声音也应该在背景中播放,而且不应该停止ipod音乐
那么我如何才能做到这一点呢
如果无法在后台使用AvaudioSessionCategoryMBIENT
类别播放声音,那么是否有其他解决方法
如果我犯了任何错误,请道歉
谢谢。您需要在project.plist文件中添加一行
所需的背景模式
,如下图所示,然后进行设置
并将下面的代码放入您的项目appdelegatedidFinishLaunchingWithOptions
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
NSError *error;
BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error];
if (!success) {
//Handle error
NSLog(@"%@", [error localizedDescription]);
} else {
// Yay! It worked!
}
它为我工作,希望它对你有用,我的朋友,祝你一切顺利
更新
如果不做更多的工作,就不能同时运行AVAudioPlayer和iPod播放器、MPMusicPlayer或MPMoviePlayer。如果你想简单,那么使用音频工具箱的系统声音 请参阅以下链接:- 请查看下面的链接,这里有在后台播放音频文件的演示。请检查一下
请看一看:-如果不停止iPod音乐(或任何其他背景播放应用程序),就无法播放背景音乐。@Unnati您是否找到了解决方案?我也有类似的要求。谢谢。您不能同时运行AVAudioPlayer和iPod播放器或MPMusicPlayer或MPMoviePlayer,