Actionscript 3 如何从列表中选择音频源Flash+ActionScript3

Actionscript 3 如何从列表中选择音频源Flash+ActionScript3,actionscript-3,flash,audio,audio-streaming,microphone,Actionscript 3,Flash,Audio,Audio Streaming,Microphone,从中,您可以使用麦克风.names属性或麦克风.GetMirror方法检查用户是否安装了声音输入设备 您将如何获取用户音频设备的名称并允许他们选择要使用的源 当前,默认音频在流式处理点被选择,代码如下: if ( microphone != null) { // Tried to list microphones but failed! //sourceVideoLabel.text = microphone.names; microphone.rate = 16

从中,您可以使用麦克风.names属性或麦克风.GetMirror方法检查用户是否安装了声音输入设备

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

当前,默认音频在流式处理点被选择,代码如下:

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";
}
Mirror.names是一个静态属性,这意味着您必须从类本身访问它。您正在尝试从类实例Mirror访问它。您应该这样做:

sourceVideoLabel.text += Microphone.names;
请注意大写字母M,这意味着您访问的是类而不是实例

另一方面,micromic.name是非静态的,可通过实例麦克风访问,以获取当前选定的麦克风:

someTextField.text = "The current microphone is " + microphone.name;
顺便说一句,为了避免混淆,最好避免实例名称与类名过于相似。像麦克风这样的东西也很好用,很容易辨别,打字也很快