【问题标题】:AEC in Flash, getEnhancedMicrophoneFlash 中的 AEC,getEnhancedMicrophone
【发布时间】:2011-09-28 17:10:18
【问题描述】:

有下一个问题:

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

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

【问题讨论】:

    标签: flash actionscript-3 aec


    【解决方案1】:

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

    1) 安装debug player 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);
    }
    

    希望这会有所帮助。

    【讨论】:

    • @KwI,任何反馈将不胜感激。
    • 如何设置swf版本? -swf 版本=12?我正在使用 Adob​​e Flash CS5
    • @Joy,你需要创建FlashPlayer10_3.xml。尝试根据答案更改您的 Adob​​e Flash CS5 配置。
    • 我已经完成了所有这些工作,但出现了一些错误。我也在这里发布了我的问题 - stackoverflow.com/questions/7058073/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    相关资源
    最近更新 更多