【问题标题】:AS3 Microphone as3 not responding after some timeAS3 麦克风 as3 一段时间后没有响应
【发布时间】:2012-12-21 16:49:42
【问题描述】:
package  {

import flash.display.MovieClip;
import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Microphone;
    import flash.system.Security;
import flash.external.ExternalInterface;
import fl.controls.Slider; 
import fl.events.SliderEvent; 
import fl.controls.ProgressBar; 
import flash.events.ProgressEvent; 
import fl.controls.ProgressBarMode; 
import fl.controls.ProgressBarDirection; 
import flash.media.Sound; 

public class mic extends MovieClip {

    var micr:Microphone;
    var aSlider:Slider;
    var aPb:ProgressBar;
    var timeout:Number=1000;

    public function mic() {
        micr = Microphone.getMicrophone();
        micr.gain=60;
        micr.rate=5; 
        micr.setSilenceLevel(7,timeout);
        Security.showSettings("2");
        micr.setUseEchoSuppression(true);
        micr.setLoopBack(true);

        aSlider = new Slider(); 
        aSlider.width = 200; 
        aSlider.height = 3;
        aSlider.snapInterval = 1; 
        aSlider.tickInterval = 1; 
        aSlider.maximum = 20; 
        aSlider.minimum = 3; 
        aSlider.value = micr.silenceLevel;
        aSlider.move(25, 110);
        addChild(aSlider); 

        aPb = new ProgressBar(); 
        aPb.width = 200; 
        aPb.height = 3;
        aPb.move(25,130); 
        aPb.direction = ProgressBarDirection.RIGHT; 
        aPb.mode = ProgressBarMode.MANUAL; 
        aPb.minimum = 0; 
        aPb.maximum = 100; 
        addChild(aPb); 

        if (micr != null) {
            micr.setUseEchoSuppression(true);
            micr.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
            micr.addEventListener(StatusEvent.STATUS, statusHandler);
            aSlider.addEventListener(SliderEvent.CHANGE, changeHandler); 

        }
    }

      private function activityHandler(event:ActivityEvent):void {
        if(event.activating){
            ExternalInterface.call("noiseEvent()");
            trace("activating=" + event.activating + ", activityLevel=" +  this.micr.activityLevel); 
        }
        aPb.setProgress(this.micr.activityLevel, aSlider.value); 
    }

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

    private function changeHandler(event:SliderEvent):void { 
        micr.setSilenceLevel(event.target.value, timeout);
    }
}

}

我需要监控麦克风活动,然后调用一些 js 函数。 这是我拥有的全部代码。 它工作正常,但大约 5 分钟。然后没有反应。有什么建议吗?

MacOSx ML, Adobe Flash 播放器 11.5.31.5 冲击波闪光 11.5 r31

【问题讨论】:

    标签: actionscript-3 microphone


    【解决方案1】:

    似乎它只发生在 Mac Google Chrome 23.0.1271.101 中......

    MAC:Safari、Firefox - 工作

    Win8:Chrome、Firefox - 有效

    【讨论】:

    • 这很可能是由 Chrome 使用的 Pepper Flash 插件引起的。它是新的并且有各种问题。您可以通过以下方式禁用它:chrome://plugins -- 然后展开详细信息并查找路径中包含“PepperFlash”的 Flash 插件。您可能已经安装了普通的 Flash 插件。
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 2012-06-18
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    相关资源
    最近更新 更多