我只是想播放一个简单的音频文件。这是场景,应用程序已启动,我“准备播放”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;
}
}
在我的信息列表中,我说这个应用程序在后台使用音频作为背景模式。问题是我需要在后台启动音频,但系统不会让我进入环境模式。