我对使用Android Oboe库访问手机上的两个麦克风很感兴趣。大多数手机具有双麦克风配置,我想同时读取两者的数据。我已经扩展了Oboe的“LiveAffect”示例,并尝试了以下操作:

  • 有两个oboe::AudioStream,我的手机上的每个麦克风一个(注释9和Pixel 1)。仅运行其中一个流可以正常工作,我能够读取数据并播放/保存到文件。但是无法同时启动两个流(尝试通过stream->requestStart()启动第二个流时出现以下错误: E / AUDIO-APP:启动流时出错。ErrorInvalidState )。显然,开始两个输入流是一个Android限制,如以下SO问题中所述:Android Oboe Library: 2 streams recording from 2 recording devices possible?
  • 具有一个流,但是具有2个 channel 。 Note 9上的两个麦克风是同一组的一部分,但是当我使用两个通道(->setChannelCount(oboe::ChannelCount::Stereo);)打开它们中的任何一个时,我在两个通道中仅获得一个麦克风的重复数据。我尝试过使用AudioStreamBuilder设置,例如设置->setInputPreset(oboe::InputPreset::Camcorder)InputPresets设置均未修复它,但仍在两个通道中镜像了数据。

  • 两种尝试都无法使用OpenSL后端进行。

    最佳答案

    我相当确定这是该特定设备的问题。用户在JUCE forum here上报告了相同的问题。我已在内部提交了一个错误(id:133143785),并将尝试将其发送给Samsung进行进一步调查。

    10-08 06:58