Adobe docs“您可以使用Microphone.names属性或Microphone.getMicrophone()方法来检查用户是否安装了声音输入设备。”。

您将如何获取用户音频设备的名称,并允许他们选择他们想要使用的来源?

当前,使用以下代码在流式传输点选择默认音频:

if ( microphone != null)
{
    // Tried to list microphones but failed!
    //sourceVideoLabel.text = microphone.names;

    microphone.rate = 16;
    microphone.codec = SoundCodec.SPEEX;
    microphone.setSilenceLevel(0, -1);
    microphone.setUseEchoSuppression(true);
}
else
{
    sourceVideoLabel.text +=  "No Microphone Found\n";
}

最佳答案

Microphone.names是一个静态属性,意味着您必须从类本身访问它。您正在尝试从类实例microphone访问它。你应该做这个:

sourceVideoLabel.text += Microphone.names;

注意大写的M,这意味着您要访问的是类而不是实例。

另一方面,Microphone.name是非静态的,可以通过实例microphone进行访问以获取当前选定的麦克风:
someTextField.text = "The current microphone is " + microphone.name;

(顺便说一句,如果出现混乱,最好避免实例名称与类名称过于相似。像mic这样的方法同样适用,很容易区分,而且键入起来也更快。)

10-08 12:33