регулировка громкости микрофона из javascript

Я бы хотел иметь возможность управлять громкостью системного микрофона из браузера.

Я знаю, что микрофон можно записать с помощью Flash или Silverlight, но они не позволяют управлять громкостью микрофона. (Flash имеет Microphone.gain, но поскольку это всего лишь программный множитель, он не помогает, когда громкость системного микрофона приглушена или слишком велика.) Я полагаю, микрофон можно было бы изменить с помощью доверенного Java-апплета через JNI, но установив Java на компьютер пользователя. сложно для неискушенных пользователей. (Не говоря уже о проблемах с постоянной загрузкой апплета.)

Я слышал, что HTML5 будет иметь какой-то доступ к микрофону, но мне неясно, позволит ли он регулировать громкость. Во всяком случае, я не думаю, что какие-либо браузеры его поддерживают.

Есть ли плагины, позволяющие регулировать громкость? В старом проекте Google Gears есть несколько документов AudioApi, хотя они, похоже, не превратили его в настоящий плагин. Также есть подключаемый модуль Google Talk - кажется, он выполняет какой-то контроль усиления, но неясно, есть ли API к плагину.

Возможно, есть черновик плагина реализации HTML5 для доступа к микрофону (например, indexeddb)?


person paleozogt    schedule 16.01.2011    source источник
comment
Я очень, очень надеюсь, что это невозможно. Я буду следить за этим вопросом, чтобы узнать, что не стоит устанавливать :-)   -  person Pointy    schedule 16.01.2011
comment
было бы неплохо управлять и веб-камерой, не так ли?   -  person jAndy    schedule 16.01.2011
comment
Видимо, вы, саркастичные ребята, никогда не пытались убедить неискушенных пользователей правильно настроить свой микрофон.   -  person paleozogt    schedule 16.01.2011


Ответы (1)


Вердикт таков, что это будет проблема безопасности. Невозможно изменить громкость системного микрофона с помощью приложения браузера, если не используется плагин, точно так же, как нет возможности изменить громкость системного динамика. Однако вы можете усилить или уменьшить входной поток во Flash или Java.

person Community    schedule 16.01.2011
comment
Если браузер запрашивает разрешение (как это делает Flash), это не будет проблемой для безопасности. Проблема здесь в том, что заставить неискушенных пользователей починить микрофон крайне болезненно (или невозможно). Должно быть какое-то автоматическое решение. В любом случае, у меня вопрос, есть ли какие-нибудь плагины, которые это делают. - person paleozogt; 16.01.2011
comment
Кроме того, как я уже сказал в своем вопросе, вы не можете изменить громкость во Flash. Это просто программный множитель. Хотя это правда, что это можно сделать с помощью доверенного Java-апплета ... - person paleozogt; 16.01.2011
comment
Ой, есть ли какие-нибудь плагины? Насколько мне известно, вы легко можете его сделать. И да, я говорил о программном множителе во Flash. Однако я не знал, что у Java есть доступ к системному тому. Если бы они могли просто доверять / принимать сертификат программы Java, разве вы не могли бы его использовать? - person ; 16.01.2011
comment
Использование Trusted Java может работать. Но установить Java на компьютер пользователя и затем заставить апплет правильно загрузиться - это непросто. - person paleozogt; 16.01.2011
comment
У большинства людей установлена ​​Java. Если вы используете Java 1.1 или более раннюю версию, все должно быть готово. - person ; 16.01.2011
comment
@Anonymous, конечно, но кто хочет ждать 6 дней, которые потребуются для загрузки Java? Плюс, у кого на самом деле установки Java работают правильно? Если бы не эти проблемы, мы бы использовали Java для всего. К сожалению, эти незначительные препятствия действительно испортили нам веб-страницы ... - person Brad; 16.01.2011
comment
Основным препятствием является использование файлов Jar. Файлы классов загружаются намного быстрее. Нечего распаковывать, и это никогда не попадает на жесткий диск. - person ; 16.01.2011
comment
Ух, заставить звук Java работать внутри апплета; размышления об этом вызывают у меня странную депрессию ... - person Pointy; 16.01.2011
comment
Не будь таким негативным, Пойнти. Этот парень говорит об изменении настроек системы для использования в другом приложении. Я уверен, что Брэд не хотел бы реализовывать все это на Java. - person ; 16.01.2011
comment
Поскольку JavaSound не работает на Mac, для кроссплатформенной работы, вероятно, потребуется JNI. И я согласен с комментариями о проблемах с загрузкой jar-файлов / проблемах с версиями Java - это огромная боль. Я надеялся, что будет другой метод, кроме использования Java-апплетов. - person paleozogt; 19.01.2011
comment
Тогда я полагаю, это плагин. Я не знал, что JavaSound не работает на Mac, это отстой. Однако JNI может работать так же хорошо, если у вас есть исправление для каждой машины. Было бы то же самое, если бы вы сделали свой собственный плагин. - person ; 21.01.2011