你做什么Microphone.devices返回6个设备的列表,所有设备都是空字符串?
如果我连接外部声卡,它将返回该列表中的名称。其中一些是空的(来自个人电脑),一些来自卡片,带有名字。
所以问题是:
Microphone.start(X)X需要是设备名称(设计缺陷。非常严重的一个)。如果Microphone.devices [x] =""会发生什么? ? 。显然,Fmod占据了列表中的最后一个。但是如果我需要在那个空列表中选择一个特定的那个呢?
检测到所有设备,我可以使用空字符串录制音频,因为它会使用该名称选择该列表中的最后一个。它正在发挥作用。但我没有名字也无法区分那些。
使用没有名字的麦克风的其他方式?设备唯一ID?任何解决方法?
我用来获取设备列表的代码是使用API上的Microphone类。无处不在:
foreach (string device in Microphone.devices) {
Debug.Log("Name: " + device);
}
我得到了:
Log: Name:
Log: Name:
...
Log: Name: Some name from the external card
Log: Name: Some name from the external card