Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用AVAudioPlayer在不停止ipod音乐的情况下在后台播放声音_Iphone_Ios_Avaudioplayer_Avaudiosession - Fatal编程技术网

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文件中添加一行
所需的背景模式
,如下图所示,然后进行设置

并将下面的代码放入您的项目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。如果你想简单,那么使用音频工具箱的系统声音

请参阅以下链接:-

请查看下面的链接,这里有在后台播放音频文件的演示。请检查一下


请看一看:-如果不停止iPod音乐(或任何其他背景播放应用程序),就无法播放背景音乐。@Unnati您是否找到了解决方案?我也有类似的要求。谢谢。您不能同时运行AVAudioPlayer和iPod播放器或MPMusicPlayer或MPMoviePlayer,