0

有下一个问题:

var mic:Microphone = Microphone.getEnhancedMicrophone();
mic.setLoopBack(true);

而且我听不到任何声音……那是什么?当我编写 Microphone.getMicrophone() 时,一切正常,我听到了声音。

4

1 回答 1

1

要解决此问题,请尝试以下步骤:

1) 安装调试播放器10.3 或更高版本

您很可能使用非调试版本的 Flash Player 运行它,这就是您错过重要警告和异常的原因。

2) 允许用户接受对麦克风的访问:

Security.showSettings("2");

3) 使用以下选项编译 SWF:

-swf-version=12

要使用 10.3 中的新功能,您必须发布 SWF 以定位“Flash Player 11”。否则 getEnhancedMicrophone() 函数将不可见。


[编辑]

要使其在 Adob​​e Flash CS5 中工作,您需要:

3.1) 前往

${FLASH_CS5_HOME}\Common\Configuration\ActionScript 3.0

3.2) 新建一个文件夹,名称为FP10.3

3.3)复制文件并将其粘贴到以下位置:

${FLASH_CS5_HOME}\Common\Configuration\ActionScript 3.0\FP10.3

3.4)将swc名称重命名为playerglobal.swc

3.5) 去

${FLASH_CS5_HOME}\Common\Configuration\Players

3.6)创建副本FlashPlayer10_1.xml并重命名为FlashPlayer10_3.xml

3.7)在编辑器中打开它并根据以下内容进行更改:

<player id="FlashPlayer10.3" version="12" asversion="3">
   <name>Flash Player 10.3</name>
   <path builtin="true"/>
   <path platform="WIN">Device Central/adcdl.exe</path>
   <path platform="MAC">Device Central/adcdl</path>
   <playerDefinitionPath as2="$(UserConfig)/Classes/FP10;$(UserConfig)/Classes/FP9;$(UserConfi g)/Classes/FP8;$(UserConfig)/Classes/FP7" as3="$(AppConfig)/ActionScript 3.0/FP10.3/playerglobal.swc" />

3.8) 如果启动了 Flash 应用程序,请关闭并重新启动 Flash 应用程序

3.9) 如果您及时关注所有内容,您将从发布设置中的目标播放器中的 Flash player 10.3 并将您的目标更改为Flash Player 10.3

3.10) 现在导入两个语句:

      import flash.media.Microphone;
      import flash.media.MicrophoneEnhancedMode;

[/编辑]


例子:

public function init():void {
    var mic:Microphone = Microphone.getEnhancedMicrophone();
    Security.showSettings("2");
    mic.setLoopBack(true);
    if (mic != null) {
        mic.setSilenceLevel(0);
        mic.rate = 16;
        mic.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
        mic.addEventListener(StatusEvent.STATUS, statusHandler);
    }
}

private function activityHandler(event:ActivityEvent):void {
    trace("activityHandler: " + event);
}

private function statusHandler(event:StatusEvent):void {
    trace("statusHandler: " + event);
}

希望这可以帮助。

于 2011-07-05T19:28:31.377 回答