当屏幕被锁定时,我需要使用AVAudioPlayer播放一个简单的声音。我该怎么做才能帮助
答案 0 :(得分:0)
之前已回复here。事情建议您需要像在此示例中那样设置音频会话
UInt32 category = kAudioSessionCategory_MediaPlayback;
OSStatus result = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
sizeof(category), &category);
if (result){
DebugLog(@"ERROR SETTING AUDIO CATEGORY!\n");
}
result = AudioSessionSetActive(true);
if (result) {
DebugLog(@"ERROR SETTING AUDIO SESSION ACTIVE!\n");
}
答案 1 :(得分:0)
首先:将以下框架添加到您的项目中
AudioToolbox, CoreAudio的, 媒体播放器 AVFoundation。
第二:将info.plist文件添加为新密钥
所需的背景模式=应用播放音频
第三:创建一个名为keepAwakeForAudio的方法,并在播放音频后立即调用
- (无效)keepAwakeForAudio
{ UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,sizeof(sessionCategory),& sessionCategory); AudioSessionSetActive(真); }
//////
NSURL * url = [NSURL fileURLWithPath:[NSString stringWithFormat:@“%@ / rain1_Rain_on_Street.m4a”,[[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = -1;
if (audioPlayer == nil)
NSLog([error description]);
else
[audioPlayer play];
[self **keepAwakeForAudio**];