我正在创建一个项目,但我遇到了一些问题,该项目包括两个人在两个麦克风上尖叫,然后用那个尖叫声填满一个酒吧。问题是闪存如何同时与这两个输入一起工作,这就是代码。
import flash.events.ActivityEvent;
import flash.events.StatusEvent;
import flash.media.Microphone
var myTimer:Timer = new Timer(500);
myTimer.addEventListener(TimerEvent.TIMER, onMicActivity);
myTimer.start();
var deviceArray:Array = Microphone.names;
var micaux = 0;
var micaux2 = 0;
trace("Available sound input devices:");
for (var i:int = 0; i < deviceArray.length; i++)
{
trace(" " + deviceArray[i]+ " " + i);
}
var mic:Microphone = Microphone.getMicrophone();
var mic2:Microphone = Microphone.getMicrophone(1);
trace("mic1 "+mic.name);
trace("mic2 "+mic2.name);
mic.gain = 60;
mic.rate = 11;
mic.setUseEchoSuppression(true);
mic.setLoopBack(true);
mic.setSilenceLevel(5, 1000);
mic2.gain = 60;
mic2.rate = 11;
mic2.setUseEchoSuppression(true);
mic2.setLoopBack(true);
mic2.setSilenceLevel(5, 1000);
function onMicActivity(event:TimerEvent):void
{
//trace("activating=" + ", activityLevel=" +
// mic.activityLevel);
if (mic.activityLevel > 3) {
micaux = micaux + mic.activityLevel;
}
if (mic2.activityLevel >3){
micaux2 = micaux2 + mic2.activityLevel; }
trace("mic1 " +mic.activityLevel);
trace("mic 2" +mic2.activityLevel);
if (micaux>0){
soundbox.text = String(micaux);
healthBar.barColor.x += mic.activityLevel / 50;
healthBar.barColor.scaleX += mic.activityLevel / 50;}
if (micaux2>0){
soundbox2.text = String(micaux2);
healthBar2.barColor.x += mic2.activityLevel / 50;
healthBar2.barColor.scaleX += mic2.activityLevel / 50;
}
Soundbox 是显示用户分数的地方,而 healthbar.barcolor 是填充该分数的栏,当我运行此代码时,它看起来一切正常,但是当我打开该 swf 的设置时,只有 1 个麦克风工作,这两个工作正常:\
硬件通过两个不同的 USB 端口连接。
NETSTREAM 没有解决
提前致谢