在我的应用程序中,在特定时间,我正在使用AVAudioPlayer
使用哔声提醒用户。
现在我希望即使应用处于背景时也能播放此声音。所以我可以通过将AVAudioSession
类别设置为AVAudioSessionCategoryPlayback
来实现这一点,我也希望这个声音不应该停止ipod音乐,我可以设置AVAudioPlayer
类别{{1} }。
但我希望他们在一起意味着声音也应该在后台播放,它也不应该停止ipod音乐。
那么我怎样才能做到这一点?
如果无法在后台播放AVAudioSessionCategoryAmbient
类别的声音,那么还有其他解决方法吗?
如果我犯了任何错误,请道歉。
感谢。
答案 0 :(得分:4)
你需要在project.plist文件Required background modes
中添加一行,如下图所示并设置它。
并将以下代码放入您的项目appdelegate didFinishLaunchingWithOptions
[[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,无需多做多少工作。如果您想要简单,请使用Audio Toolbox的System Sounds。
请参考以下链接: -
iPhone AVAudioPlayer stopping background music
请检查以下链接有在后台播放音频文件的演示。请检查
http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_background-audio/