1

我只是想播放一个简单的音频文件。这是场景,应用程序已启动,我“准备播放”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;
    }
}

在我的信息列表中,我说这个应用程序在后台使用音频作为背景模式。问题是我需要在后台启动音频,但系统不会让我进入环境模式。

4

0 回答 0