Чтобы обойти это, попробуйте выполнить следующие действия:
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);
}
Надеюсь, это поможет.