5

在我的应用程序中,我在特定时间用我正在播放的哔声提醒用户AVAudioPlayer

现在我希望即使应用程序在后台也能播放这种声音。所以我可以通过将AVAudioSession类别设置为来实现这一点AVAudioSessionCategoryPlayback,我也希望这个声音不应该停止 ipod 音乐,我可以通过设置AVAudioPlayer类别来做到这一点AVAudioSessionCategoryAmbient

但我希望它们在一起意味着声音也应该在后台播放,它也不应该停止 ipod 音乐。

那么我该如何实现呢?

如果无法AVAudioSessionCategoryAmbient在后台播放带有类别的声音,那么还有其他解决方法吗?

抱歉,如果我做错了什么。

谢谢。

4

1 回答 1

4

您需要在 project.plist 文件中添加一行,Required background modes如下图所示并进行设置。

在此处输入图像描述

并将下面的代码放入您的项目 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,而不做更多的工作。如果您想要简单,请使用 Audio Toolbox 的系统声音。

请参考以下链接:-

iPhone AVAudioPlayer 停止背景音乐

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

http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_background-audio/

于 2013-05-29T11:49:25.257 回答