在我的HTC One(第一个型号)上,使用{audio:true}调用getUserMedia()会激活错误的音频输入设备。如果我对着麦克风讲话,远程伙伴听不到任何声音。在这种情况下,音轨的标签是空的。
如果我手动将音频设备设置为enumerateDevices()报告的设备ID之一,则可以正常工作。在这种情况下,音轨的标签显示类似“耳机耳机”的东西,这很有趣,因为这是麦克风。如果我选择了其他(非默认)设备,则其标签为“扬声器电话”。这个不工作,这是非常违反直觉的。
不幸的是,我无法预先确定哪一个是正确的音频输入来正确选择它。在这种情况下,所有设备标签都是空的,我只会得到神秘的设备ID。总共返回3个音频设备,其中一个具有id“default”(但这是错误的)。
什么可能导致这种不当行为,我该如何解决?
(如果重要的话,我在Cordova应用程序中使用最新的Crosswalk。)