import flash.events.ActivityEvent;
import flash.media.Microphone;
var deviceArray:Array = Microphone.names;
//所有可用的声音捕获设备的名称
var mic:Microphone = Microphone.getMicrophone();
//获取当前麦克风的索引值
mic.gain = 60;
//麦克风增益 - 即麦克风在传送信号之前应该将信号放大的倍数
mic.rate = 11;
//麦克风捕获声音的频率,单位是 kHz
mic.setUseEchoSuppression(true);
//指定是否使用音频编解码器的回音抑制功能
mic.setLoopBack(true);
//将麦克风设为环回模式或将其关闭
mic.setSilenceLevel(20, 300);
// 设置可认定为有声的最低音量输入水平,以及实际静音前需经历的无声时间长度
mic.addEventListener(ActivityEvent.ACTIVITY, this.onMicActivity);
function onMicActivity(event:ActivityEvent):void
{
trace("活动=" + event.activating + ", 活动量=" + mic.activityLevel);
}
if (mic.activityLevel>30) {
//你的代码
}
//你的代码
}
**********************************************
防止回音的影响:m.setUseEchoSuppression(false);
//让Flash程序与麦克风输入的信号建立连接
m = Microphone.get();
//将Audio连接在_root上,这样每一个物件都能与’m’来建立沟通
attachAudio(m);
attachAudio(m);
//防止回音的影响
m.setUseEchoSuppression(false);
m.setUseEchoSuppression(false);
//用声音来控制我们所设置图形的大小,activityLevel是通过声音的输入来返回一个在0-100之间数值。
onEnterFrame = function () {
circle._xscale = circle._yscale = m.activityLevel+50;
};
onEnterFrame = function () {
circle._xscale = circle._yscale = m.activityLevel+50;
};