Unity设计缺陷:如何区分具有空名称或相同名称的麦克风

时间:2017-05-29 22:33:11

标签: windows audio unity3d unity5 audio-recording

你做什么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

0 个答案:

没有答案