1

マイクの音声入力をフラッシュ ( as3 ) で監視したい。

これは私のコードのほんの一部ですが、実際には問題はそこにあります。

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

addEventListener( Event.ENTER_FRAME, loop );

function loop( event:Event ):void {
    trace( mic.activityLevel );
}

コードをそのまま使用すると、トレースできactivityLevel、実際にいくつかの値を確認できます..(ボリュームだと思いますか?)

まあ、唯一の問題は、オーディオもスピーカーに出力されることです。これは、私が望んでいないことです... ( mic.setLoopBack(true);)

しかし、試してみるとmic.setLoopBack(false);、フラッシュはマイクの許可を求めなくなり、トレースactivityLevelは " " のままになります-1.....

では、オーディオ ループバックを無効にするか、マイクからのオーディオ データを監視するだけにするにはどうすればよいでしょうか。?

(「音声データ」とは、後で BPM を検出するために必要なすべてのデータを意味します...音声のバイト配列だと思いますよね?)

4

2 に答える 2

4

マイクをミュートするための一時的な解決策として、次のことを試すことができます。

var st:SoundTransform = new SoundTransform(0);
mic.soundTransform = st;

アクティビティ レベルは引き続き表示されます。

于 2013-07-18T00:50:29.553 に答える