IPhone背景中的AVAudioSessionCategoryAmbient无法正常工作

时间:2012-08-25 13:57:10

标签: iphone ambient

我只想尝试播放一个简单的音频文件。这是场景,应用程序启动,我“准备播放”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我把这个应用程序在后台使用音频作为后台模式。问题是我需要在后台启动音频,但系统不会让我处于环境模式。

0 个答案:

没有答案