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