2008-09-15 5 views
5

Я пытаюсь написать веб-приложение, которое записывает WAV-файлы (например: из микрофона пользователя). Я знаю, что Javascript сам по себе не может этого сделать, но меня интересует наименее проприетарный метод увеличения моего Javascript. Мои целевые браузеры - это Firefox для ПК и Mac (поэтому ActiveX).Как записывать звук из веб-приложения на основе Javascript?

Я понимаю, что это можно сделать с помощью Flash (но не как WAV-файл). Я понимаю, что это можно сделать с помощью Java (но не без подписи кода). Это единственные варианты?

Я хотел бы записать файл как WAV, потому что целью webapp будет сборка библиотеки хороших качественных коротких звуковых звуков. Я оцениваю, что загрузка будет 50 МБ, что хорошо стоит за качество. Приложение будет использоваться только в нашей интрасети.

UPDATE: Там теперь альтернативное решение благодаря наступающего Audio API Jetpack в: См https://wiki.mozilla.org/Labs/Jetpack/JEP/18

+1

Может быть, вы найдете это полезным: https://github.com/milani/microphone.js – 2012-03-11 14:23:34

ответ

4

Для использования Flash-сервера требуется Flash-сервер (обратите внимание: я все еще использую Flash MX, но быстрый поиск в Google создает документацию для Flash CS3, которая, похоже, согласуется с тем, что Flash CS4 скоро появится, может измениться). Macromedia/Adobe стремится пороть вам свой медиа-сервер, но проект с открытым исходным кодом Red5 может быть suitible для вашего проекта:

http://osflash.org/red5

Я думаю, Java будет более suitible. Я видел апплет, который мог бы сделать то, что вы хотите более на Moodle (с открытым исходным кодом виртуальной среды обучения):

http://64.233.183.104/search?q=cache:k27rcY8QNWoJ:moodle.org/mod/forum/discuss.php%3Fd%3D51231+moodlespeex&hl=en&ct=clnk&cd=1&gl=uk

(сайт членства требуется, но открыты для Google, следовательно, ссылка идет на страница кэша Google).

+1

По Flash 10 не нужен медиа-сервер. Вы можете захватить необработанные образцы и отправить их на произвольный сервер с HTTP-сообщением. https://code.google.com/p/wami-recorder/ – 2011-12-04 18:09:00

0

Да я считаю, флэш или Java-апплета являются единственными способами, чтобы сделать это. Поскольку вы не можете взаимодействовать с микрофоном, вы должны использовать какой-то браузер-плагин, это единственный способ использовать микрофон. Я не знаю ни одного другого плагина, который бы предоставил эти функции. Быстрый поиск в Google не выявил никаких дополнительных возможностей. Я думаю, что самый легкий будет с Flash.

2

Вашими опциями являются Flash, Java, ActiveX или создание пользовательского расширения Firefox. Flash, вероятно, лучший вариант - вы можете написать или использовать существующее приложение Flash для записи и хранить почти все остальное в чистом Javascript.

Зачем нужен WAV-файл? Если вы планируете обрабатывать фактические биты формы волны на клиенте, то это, вероятно, плохая идея; клиент может быть очень медленным, и вы не сможете реально манипулировать файлом. Если вы хотите отправить звук на сервер, то гораздо лучше отправить сжатый файл, а затем распаковать его на сервере.

-2

Вы можете скачать Real Producer Basic, бесплатно здесь (http://forms.real.com/rnforms/products/tools/producerbasic/) и вставить его в качестве объекта activeX, так как он находится в вашей интрасети. Flash будет внедряться точно так же, как на всех офисных рабочих станциях, но поскольку это ваша Интранет, вы можете установить ее на всех машинах с AD. Реальные аудиофайлы очень малы по сравнению с wav и отлично звучат. Вот ссылка на руководство Real Sudio ActiveX.

0

Другое решение, если вы не возражаете, чтобы ваши пользователи, устанавливающие плагин, использовали плагин Runtime Revolution RevWeb, который поддерживает запись звука в браузере (и тривиально для реализации, я сделал тестовый апплет, чтобы подтвердить это примерно за 10 минут). http://revweb.runrev.com/

6

Это старая тема, но проблема остается актуальной. Следует отметить, что есть способ записи звука на сервер во Flash без встроенного интерфейса. Вот пример проекта, чтобы вы начали:

https://code.google.com/p/wami-recorder/

+1

Я бы сказал, что этот ответ лучше, чем принятый с 2008 года, поскольку он имеет тот же эффект, но выделенный серверный компонент не требуется. Он по-прежнему не является полным решением, поскольку он не будет работать на мобильных устройствах Apple, которые широко распространены. Надеюсь, разумный кросс-платформенный стандарт, который сочетает в себе родную запись, скоро появится открытый формат файла и простой HTTP-пост. – leonigmig 2012-01-25 11:48:08

 Смежные вопросы

  • Нет связанных вопросов^_^