【问题标题】:iphone - AVAudioRecorder gives mono playback (sound playing in just one channel)iphone - AVAudioRecorder 提供单声道播放(仅在一个通道中播放声音)
【发布时间】:2009-07-17 05:57:15
【问题描述】:

我正在使用 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,为什么只能在一个插孔中播放? (我正在使用耳机进行测试 - 我的 iPhone 随附的耳机)

【问题讨论】:

  • @lostInTransit,这与上下文无关:您可能希望通过用户页面最右侧的accounts 选项卡将您的 SO 帐户与 SU、SF 和 Meta 关联。您的最新问题已移至 SU。
  • nik,我不明白这怎么属于 SU。这与我们通过SDK录制声音时需要为AVAudioRecorder设置的属性有关。非常感谢您将最后一个问题移至 SU。
  • 呃。对不起,断章取义,我的意思是你关于get-my-id-address的最后一个问题。它已移至 SU。

标签: iphone iphone-sdk-3.0 avaudiorecorder


【解决方案1】:

只需注释掉下面一行

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

默认设置应该可以工作。

这样做的原因是您现在将录制一个单声道文件,当播放该文件时,音频将在每个扬声器中播放,这是单声道文件的正常行为。如果您包含此行,您最终会录制一个立体声文件,其中一个通道完全静音,因此当您播放它时,您只能在一只耳朵中听到音频。

【讨论】:

    【解决方案2】:

    不,您的设置没有任何问题。如果您在模拟器上试用您的应用程序,它将在两个频道上录制和播放。但是,iPhone 3G 和 3GS 只使用一个通道录制音频。这也适用于在 3GS 上拍摄的电影的音频。

    因此,这不是错误。

    【讨论】:

    • 在一个频道上录制是可以的。但是在播放的时候,不是应该在2个频道上播放吗?甚至语音备忘录也可以在 2 个通道中播放音频。
    • 您需要区分通过 iPhone 底部扬声器和耳机播放的声音。在 3G 和 3GS 型号上,声音仅通过扬声器在一个通道上播放(语音备忘录和 iPod 应用程序都适用)。您可以尝试用手指盖住左侧扬声器:您会看到右侧扬声器没有播放任何声音。但是,当您连接耳机时,您会同时通过左右声道收听语音备忘录和录制的音频,即使它不是真正的立体声,但它是耳机上的同一个声道!
    • 我不太确定。我试过你所说的,但我仍然可以从一个插孔中听到我录制的声音的音频。对于语音备忘录,我可以从两个耳机插孔听到它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多