0

次の問題があります:

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

何の音も聞こえないのですが・・・何ですか?Microphone.getMicrophone() を記述すると、すべてが正しく機能し、音が聞こえます。

4

1 に答える 1

1

これを回避するには、次の手順を試してください。

1)デバッグ プレーヤー10.3 以降をインストールする

フラッシュ プレーヤーのデバッグ バージョン以外で実行する可能性が非常に高いため、重要な警告や例外を見逃す可能性があります。

2) ユーザーがマイクへのアクセスを受け入れることを許可します。

Security.showSettings("2");

3) 次のオプションを使用して SWF をコンパイルします。

-swf-version=12

10.3 の新機能を使用するには、SWF を公開して「Flash Player 11」をターゲットにする必要があります。そうしないと、getEnhancedMicrophone() 関数が表示されません。


[編集]

Adobe 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) は、2 つのステートメントをインポートするようになりました。

      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);
}

お役に立てれば。

于 2011-07-05T19:28:31.377 に答える