当前位置:  开发笔记 > IOS > 正文

iphone - AVAudioRecorder提供单声道播放(仅在一个频道播放声音)

如何解决《iphone-AVAudioRecorder提供单声道播放(仅在一个频道播放声音)》经验,为你挑选了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,为什么回放只在一个插孔?(我正在使用耳机进行测试 - 我的iPhone附带的耳机)



1> grassyburrit..:

只需注释掉以下行

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

默认设置应该有效.

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

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有