1

AVAudioRecorder を使用してオーディオを録音し、wav ファイルに保存しています (SDK 3.0 を使用) 設定辞書には次の値が含まれています

    NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init];

    [recordSetting setValue :[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
    [recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey]; 
    [recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];

    [recordSetting setValue :[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
    [recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
    [recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];

チャンネル数を 2 に指定した後でも、再生はモノラルです (つまり、両方のチャンネルではなく 1 つのイヤー ジャックでのみ再生します)。

他の誰かがこの問題に直面しましたか? recordSetting 辞書の値に問題はありますか?

ありがとう

誰でもこれで私を助けてもらえますか...チャンネル数を2に指定すると、なぜ再生が1つのジャックだけになるのでしょうか? (テスト用にヘッドホンを使用しています - 私の iPhone に付属しているものです)

4

2 に答える 2

9

次の行をコメントアウトするだけです

[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];

デフォルト設定が機能するはずです。

これが機能する理由は、これからモノラル ファイルを録音し、これを再生すると、モノラル ファイルの通常の動作と同様に各スピーカーでオーディオが再生されるためです。この行を含めると、1 つのチャンネルを完全に無音にしてステレオ ファイルを録音することになり、再生すると片耳だけで音声が聞こえるようになります。

于 2009-09-24T06:46:06.830 に答える
1

いいえ、設定に問題はありません。シミュレーターでアプリを試すと、2 つのチャネルで記録および再生されます。ただし、iPhone 3G および 3GS は、1 つのチャネルを使用してオーディオを録音するだけです。これは、3GS で撮影された映画の音声にも当てはまります。

したがって、これはバグではありません。

于 2009-07-17T07:43:02.133 に答える