1

AVAudioRecorder を使用して iPhone で音声を録音しています。これらは私のレコーダー設定です。

 NSMutableDictionary* recordSetting = [[NSMutableDictionary alloc] init];
    [recordSetting setValue :[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
    [recordSetting setValue:[NSNumber numberWithFloat:16000.0] forKey:AVSampleRateKey]; 
    [recordSetting setValue:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];

問題は、録音した音声がヘッドフォンなしでは聞こえないことです。ヘッドフォンなしでも声が聴けるようになりたいです。コードを変更するにはどうすればよいですか?

4

3 に答える 3

1

考慮すべきもう 1 つの点は、AVAudioSession を再生用に設定していない場合、電話の側面にあるサイレント リンガー スイッチによってオーディオがスピーカーから再生されないことです。消音された電話でサウンドを再生できるようにするには、AVAudioPlayer をトリガーしてファイルを再生する前に、次のようなものを使用していることを確認してください。

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[session setActive:YES error:nil];
于 2012-10-02T21:43:20.977 に答える
1

AVAudioSessionCategoryPlaybackサウンドを再生する前にAVAudiosession カテゴリを設定する必要があります

于 2011-06-08T12:26:06.657 に答える
0

Maybe force-routing the audio output to the speaker will help?

- (void) forceRouteAudioToSpeaker
{
    UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
    AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute,
        sizeof(audioRouteOverride), &audioRouteOverride);
}

Don’t forget to include <AudioToolbox/AudioServices.h>. On second thought, switching the audio category to plain playback should also do the trick, and you say it didn’t…</p>

于 2011-06-08T13:18:56.267 に答える