Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не детектируется (отсутствует) сигнал с микрофона (http://www.flasher.ru/forum/showthread.php?t=158865)

Alex_YAROST_22 24.06.2011 13:07

Не детектируется (отсутствует) сигнал с микрофона
 
Приветствую ув. форумчан.
Помогите разобраться со следующей проблемой, вчера сломал себе весь мозг.

Есть такое вот тестовое приложение

А вот код этого приложения:

Код AS1/AS2:

//timer event handler
protected function Framer(event:Event):void
        {
                f.text = "";
                if (mic == null)
                {
                        f.text += "Микрофон из null" + " \n";                                       
                } else
                {
                        f.text += "Объект mic      : " + mic + " \n";
                        f.text += "index  mic      : " + mic.index + " \n";
                        f.text += "Уровень сигнала : " + mic.activityLevel + " \n";
                        f.text += "Mute микрофона  : " + mic.muted + " \n";
                        f.text += "Голос обнаружен : " + mic.enhancedOptions.isVoiceDetected + " \n";
                }                               
        }
 
        protected function button1_clickHandler(event:MouseEvent):void
        {
                mic = Microphone.getEnhancedMicrophone();
                mic.codec = SoundCodec.SPEEX;
                mic.setSilenceLevel(0);
                mic.setLoopBack(false);
                var options:MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions();
                options.mode = MicrophoneEnhancedMode.FULL_DUPLEX;
                mic.enhancedOptions = options;
        }
 
//addedToStage event handler
        protected function iniit(event:Event):void
        {
                // TODO Auto-generated method stub
                tmr.addEventListener(TimerEvent.TIMER, Framer);
                tmr.start();
        }

Я проверял на трех машинах, на двух осях - везде поведение одинаковое. Скомпилено с опцией "--swf-version=12", все playerglobal.swf 10.3 подтянуты, debug player ни на что не ругается. Т.е. всё путем за исключением того, что ничего не работает )

Итак, как воспроизвести (описываю как у меня это происходит):

1. Нажимаем кнопку - выполняется getEnhancedMicrophone(). Только вот окно безопасности Flash не отображается, хотя объект Микрофон создается, но он muted = true
2. Ручками открываем параметры и Разрешаем приложению доступ к микрофону. Видим как изменилось свойство mute с true на false, однако уровень сигнала равен -1.
3. Не закрываемся и идем в вкладку Микрофон, у меня как только я её открываю сразу начинает радостно прыгать уровень сигнала в самой вкладке Безопасности и(!) у меня в приложении.
3.1 можно повыбирать разные микрофоны, если их несколько и мы увидим как в приложении меняется индекс микрофона.
4. Убедившись, что сигнал с микрофона есть закрываем Параметры безопасности и... сигнал микрофона снова становиться равен -1

Вот такая история. Буду благодарен любой помощи ибо просто не знаю куда копать.
Спасибо.

Добавлено через 2 часа 36 минут
Пожалуйста, пройдите по ссылке и подтвердите - действительно ли баг имеет место или это у меня карма такая (

Добавлено через 70 часов 20 минут
Добавлю на всякий, вдруг кому поможет. Оказывается я таки не одинок )

https://bugs.adobe.com/jira/browse/FP-7065

а еще проблема с RTMP:

https://bugs.adobe.com/jira/browse/FP-6888

Alex_YAROST_22 27.06.2011 13:54

Утро понедельника завсегда лучше чем вечер пятницы.

Окошко Безопасности (запрос на подключение микрофона) появляется, если... (барабанная дробь) добавить к объекту микрофон слушателя события SAMPLE_DATA (и только его!) (( и можно даже без тела функции))
Т.е. просто объявление, пустое.
Тогда появляется окошко запроса Безопасности и всё работает.

И еще - с USB микрофонами вообще беда. EnhancedMicrophone создает объект, но сигнала нет, при попытке переключения на обычный микрофон сигнал пропадает и там, помогает только перезапуск браузера 0_0.

Добавлено через 4 часа 42 минуты
Продолжаю свой FAQ по работе с микрофоном *ирония* Итак

версия плеера 10.3.181.26
ОС: Windows XP
браузер: все

Если мы при инициализации микрофона указываем этот параметр:

microphone.setLoopBack(false);

То с крайне высокой вероятностью (сюда подмешивается еще глючность USB-микрофона) получим отсутствие сигнала при переключении на другой микрофон.

DEAFFF 12.08.2011 14:21

привет! удалось как то решить проблему?

у нас похожая ситуация - звука нет вообще, все сделано и подключено...

XoJlToH 22.05.2012 20:39

что то у вас криво написано явно. покурите мою тему http://www.flasher.ru/forum/showthre...ght=microphone у меня выбираются все живые микрофоны, но по ходу где то еще не отпускается последний микрофон из списка


Часовой пояс GMT +4, время: 07:56.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.