AEC во Flash, getEnhancedMicrophone - PullRequest
       29

AEC во Flash, getEnhancedMicrophone

0 голосов
/ 05 июля 2011

Есть следующая проблема:

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

И я не слышу ни звука ... Что это? Когда я пишу Microphone.getMicrophone () все работает правильно, и я слышу звуки.

1 Ответ

1 голос
/ 05 июля 2011

Чтобы обойти это, попробуйте выполнить следующие действия:

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) закройте флэш-приложение, если оно запущено, и перезапустите флэш-приложение

3.9), если вы быстро выполниливсе, что вы будете проигрывать Flash Player 10.3 в целевых игроках из настроек публикации и измените свою цель на Flash Player 10.3

3.10), теперь импортируйте два оператора:

      import flash.media.Microphone;
      import flash.media.MicrophoneEnhancedMode;

[/ EDIT]


Пример:

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

Надеюсь, это поможет.

...