Ios iPhone上的立体声录音
iPhone5有三个话筒——前上方、后上方和底部。我想在录制的同时对它们做一些信号处理。我试了好几天都没有成功 使用AVAudioSession,我可以看到麦克风:Ios iPhone上的立体声录音,ios,avfoundation,core-audio,audiounit,Ios,Avfoundation,Core Audio,Audiounit,iPhone5有三个话筒——前上方、后上方和底部。我想在录制的同时对它们做一些信号处理。我试了好几天都没有成功 使用AVAudioSession,我可以看到麦克风: NSLog(@"%@", [AVAudioSession sharedInstance].availableInputs); "<AVAudioSessionPortDescription: 0x14554400, type = MicrophoneBuiltIn; name = iPhone Microphone; U
NSLog(@"%@", [AVAudioSession sharedInstance].availableInputs);
"<AVAudioSessionPortDescription: 0x14554400, type = MicrophoneBuiltIn; name = iPhone Microphone; UID = Built-In Microphone; selectedDataSource = Back>"
NSLog(@"%@", [AVAudioSession sharedInstance].availableInputs[0].inputDataSources);
"<AVAudioSessionDataSourceDescription: 0x145afb00, ID = 1835216945; name = Bottom>",
"<AVAudioSessionDataSourceDescription: 0x145b1870, ID = 1835216946; name = Front>",
"<AVAudioSessionDataSourceDescription: 0x145b3650, ID = 1835216947; name = Back>"
NSLog(@“%@,[AVAudioSession sharedInstance]。可用输入);
""
NSLog(@“%@,[AVAudioSession sharedInstance]。可用输入[0]。输入数据源);
"",
"",
""
我可以使用AVAudioSessionPortDescription-setPreferredDataSource:error:
从三个选项中的一个进行录制。但我不能同时录制多个。如果我将输入通道数设置为2,则从同一个麦克风获得两个相同的曲目
音频录像机有一个属性channelAssignments
,它似乎应该可以工作,但是音频会话inputNumberOfChannels
和maximumInputNumberOfChannels
都是1。属性channelAssignments
专为具有多个声道的辅助话筒设计
我试着使用低电平音频单元,但得到了相同的结果。我在AudioUnit上找不到任何属性来更改输入源
如果有任何帮助,我们将不胜感激。我的理解是,在我进行了所有的研究之后,我试图做同样的事情,这正是您所描述的——您不能为一台设备选择多个数据源,因此您不能一次从多个内置麦克风录制。如果有人能证明我错了,我很想听 旁注:我似乎无法运行你的代码。如前所述,我得到
Property availableInputs not found on object of type 'id'
即使在将您得到的内容转换为不需要任何显式转换的格式后:
NSLog(@"%@", [[[AVAudioSession sharedInstance] availableInputs][0] inputDataSources]);
我得到了西格伯特:
-[AVAudioSessionPortDescription inputDataSources]: unrecognized selector sent to instance 0xd59dbe0'
您使用的是什么SDK,您的代码实际上可以编译,更不用说运行了?我想您需要≥ iOS 7.0(请参阅)。我所有的经验都与使用iOS 7 SDK有关,因此单凭iOS 7 SDK还不足以回答我的问题,但可能我遗漏了一些更具体的内容。是否在iOS 8甚至iOS 9 Beta中尝试过?我也对同时记录两个来源感兴趣。