我只想尝试播放一个简单的音频文件。这是场景,应用程序启动,我“准备播放”viewdidLoad上的音频。当我进入背景时,我需要播放音乐一小段时间,但它不会在环境类别中播放,但AVAudioSessionCategoryPlayback
工作正常。我需要它是环境类别,因此用户可以根据需要静音。
-(void) startRing
{
{
OSStatus error;
UInt32 value;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];
value = kAudioSessionOverrideAudioRoute_Speaker;
error = AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(value), &value);
if (error)
NSLog(@"couldn't set kAudioSessionOverrideAudioRoute_Speaker!");
[ringTonePlayer play];
NSLog(@"ringing %s",[ringTonePlayer isPlaying]?"true":"false");//this always shows false when im in the background
self->ringing = true;
}
}
在我的信息plist我把这个应用程序在后台使用音频作为后台模式。问题是我需要在后台启动音频,但系统不会让我处于环境模式。