Аудиозапись / воспроизведение в реальном времени из веб-приложения Ruby - PullRequest
2 голосов
/ 23 ноября 2011

Мне интересно, есть ли у кого-нибудь успех с аудиозаписью (с микрофона в браузере пользователя) и воспроизведением из веб-приложения (Ruby / RoR)?

То, что я нашел до сих пор - я мог бы написать приложение flex / flash, которое будет записывать аудио, а затем иметь серверную сторону, такую ​​как Red5 или около того, для приема и преобразования. Это звучит более запутанно, и я также видел разные типы проблем с хостингом и т.д., которые возникают у людей - так что я думаю, что могут быть лучшие / более простые решения !! Я тоже посмотрел html5 / web-kit, но, похоже, работает только на chrome и ограничен текстовыми полями и т. Д.

В моем приложении я хочу записать голос пользователя, сохранить его на aws / s3 в формате mp3 или аналогичного файла и воспроизвести его для пользователя в приложении на основе ввода / выбора пользователя. В то время как решение на основе флэш-памяти является работоспособным на данный момент, решение на основе флэш-памяти будет предпочтительным, поскольку оно будет поддерживать большее количество устройств (вы знаете устройства, о которых я говорю) ..

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

Единственными опциями для веб-записи являются Flash, Silverlight или Java.Ничто из этого не будет работать на iPhone или iPad - для этого вам понадобится встроенное приложение.

Вам не нужно использовать Red5 для записи Flash - вы можете записывать прямо в память, дополнительно кодировать (или архивировать)), а затем загрузите данные.Возможно, вам лучше выполнить кодировку mp3 на стороне сервера, используя ffmpeg или SoX, прежде чем перемещать файл в s3.

0 голосов
/ 04 марта 2013

Есть способ использовать HTML5 и сервер.Просто запишите видео.
Преобразуйте видео в аудио, затем используйте аудио по своему желанию.

Эта реализация берет аудио из видео и запускает ffmpeg для извлечения аудио:

http://goo.gl/A0bya

Это на PHP, но не должно быть слишком сложно создать версию для Ruby.Легкий горох.

...