Cordova + WebRTC + Android:无法从USB输入获取音频

时间:2019-09-30 06:31:04

标签: cordova webrtc getusermedia android-audiorecord webrtc-android

过去10天内,我一直在努力解决此问题,但无法使其正常工作。这是我的情况,

我想在我的Cordova应用中使用WebRTC直播现场卡拉OK。使用移动设备的内置麦克风时,一切正常。但是内置麦克风的声音不佳,因此我选择在移动设备中通过USB输入音频(我的最新手机只有USB连接器,但没有3.5mm音频插孔)。

第一个问题:当我调用getUserMedia方法时,即使在约束参数中分配了deviceid,它也会从USB和设备麦克风获取声音。因此,周围总是有噪音。我发现在这种情况下无法静音设备麦克风。我尝试了在Playstore上使用的几个应用程序来使麦克风静音,但随后USB音频也被静音了。

我尝试使用插件“ cordova-plugin-audioinput”,该插件完全可以满足我的需要。它仅从USB接收声音,然后将其转换为MediaStream。但是,它具有开放的issue来产生crack啪作响的声音。

Edit-1 我发现,如果在getUserMedia方法中将“ echoCancellation:false或sampleRate:48000”作为音频约束传递,则它不会从USB接收音频。如果我没有通过这些参数,那么音频质量会很差。

有人可以建议是否有一种方法可以准确地获取原始音频,并且只能在Android的cordova应用程序中使用getUserMedia方法从USB中获取原始音频。

0 个答案:

没有答案