我在我的应用程序中使用AVAudioPlayer
。当我选择播放的歌曲时,我的问题是,当设备被锁定时它不会播放。
答案 0 :(得分:3)
您需要阅读Apple文档中的Executing Code in the Background。如果您将应用UIBackgroundModes
中的Info.plist
键设置为audio
,则音频将在后台播放时继续播放。
请参阅上述文档中声明您支持的后台任务和播放背景音频部分。
答案 1 :(得分:0)
我们需要通过两步让AVAudioPlayer在后台播放音乐:
第1步:选择项目 - >能力 - >启用后台模式 - >选择音频模式
第2步:使用此代码:
recCompanyInfo
请注意,使用此行即使应用程序位于后台,音乐也可以启动:
NSURL *soundURL = [[NSBundle mainBundle] URLForResource:@"demo" withExtension:@"mp3"];
avSound = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:nil];
[avSound setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[avSound prepareToPlay];
[avSound setNumberOfLoops:-1];
[avSound setVolume:1.0];
答案 2 :(得分:-1)
据我所知,当设备锁定时无法播放声音。难道你不能只是禁止设备锁定和活动应用程序活动,直到用户手动关闭它?