我希望我的应用程序音频在后台运行,并且我已按照本教程进行操作,但它不起作用。当我按下主页按钮时,我的应用程序音频仍然停止,我意识到它没有调用“applicationDidBecomeActive”或“applicationDidEnterBackground”(即使我禁用了“应用程序不在后台运行”设置,问题仍然存在)。过去一周我一直在处理这个问题。
到目前为止,我已经完成了以下步骤:
-添加了 AVFoundation 框架并声明
#import <AVFoundation/AVFoundation.h>
- 在音频中设置 AVAudioSession
NSString *audioName = [NSString stringWithFormat:@"audio%d", (nimages)];
NSString *soundPath =[[NSBundle mainBundle]pathForResource:audioName ofType:@"mp3"];
NSURL *soundURL = [NSURL fileURLWithPath:soundPath];
NSError *error = nil;
AVAudioPlayer *audio = nil;
audio = [[AVAudioPlayer alloc]initWithContentsOfURL:soundURL error:&error];
audio.numberOfLoops = -1;
audio.volume = 0.9;
if (error) {
NSLog(@"%@", [error localizedDescription]);
NSLog(@"Unable to load file");
}else {
//Make sure the system follows our playback status
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
//Load the audio into memory
[audio prepareToPlay];
}
- 在 plist 中添加行
更新:
我的应用程序是一个音频应用程序,即使它进入后台,用户也可以播放我的应用程序的特定配乐。可能吗?