2

私は音声通話用の AppRTC に取り組んでいます。アプリが開いているときは正常に動作しています。デバイスがロックされていると音声通話が機能しません。通話中にデバイスのロックを解除してアプリを開くと、正常に機能し始めますが、ロックされている間は機能しません。(音声が通過または再生されていません)。

plistの「必要なバックグラウンドモード」に「アプリがAirPlayを使用してオーディオを再生するか、オーディオ/ビデオをストリーミングする」を追加しました。

オーディオ セッションも構成されます。以下のコードを確認してください。

- (void)configureAVAudioSession:(BOOL)isSpeakerOn
{
    // Get your app's audioSession singleton object
    AVAudioSession *session = [AVAudioSession sharedInstance];

    // Error handling
    BOOL success;
    NSError *error;

    // set the audioSession category.
    // Needs to be Record or PlayAndRecord to use audioRouteOverride:

    success = [session setCategory:AVAudioSessionCategoryPlayAndRecord
                             error:&error];

    if (!success) {
        NSLog(@"AVAudioSession error setting category:%@",error);
    }

    // Set the audioSession override
    success = [session overrideOutputAudioPort:isSpeakerOn?AVAudioSessionPortOverrideSpeaker:AVAudioSessionPortOverrideNone
                                         error:&error];
    if (!success) {
        NSLog(@"AVAudioSession error overrideOutputAudioPort:%@",error);
    }

    // Activate the audio session
    success = [session setActive:YES error:&error];
    if (!success) {
        NSLog(@"AVAudioSession error activating: %@",error);
    }
    else {
        NSLog(@"AudioSession active");
    }

}

何か不足している場合、または間違って実装した場合はお知らせください。

よろしく、

4

0 に答える 0