Голосовая запись на мобильном веб-приложении

Вопрос:
Возможно ли с помощью какой-либо технологии интегрировать запись голоса в мобильное веб-приложение?

Немного фона:
Я работаю над мобильным веб-приложением только для собственного удовольствия и исследований. Казалось, что все работает с HTML5/CSS и JavaScript для клиентского приложения, хотя похоже, что мне нужна сторонняя технология для записи голоса. У меня было довольно хорошее решение, работающее с Flash, но после тестирования его с помощью IPhone я вспомнил, что они, похоже, не поддерживают флеш, что разочаровывает, потому что у меня было довольно хорошее решение.

Требования к записи голоса:
1. Должен работать как с iOS, так и с Android.

2. Должен работать в большинстве современных версий Firefox, Google Chrome, Internet Explorer, Opera и Safari.

3. Должны работать в рамках мобильного веб-приложения.

4. Должна быть возможность записи без активного подключения к Интернету.

5. Клиентское приложение не должно требовать от пользователя изменения ОС своего телефона.



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

Ответ 1

Если вы хотите записать его как аудио, я думаю, вы можете сделать его только для Chrome dev, Chrome canary, Opera next и некоторого мобильного браузера. Используя API WebRTC getUserMedia(), затем создайте URL-адрес blob URL-адреса аудиоданных, чтобы сохранить его.

Если вы хотите записать его как текст, возможно, вы можете использовать <input -x-webkit-speech/> для веб-браузеров. Сделайте событие, которое делает все возможное, чтобы остановить запись, добавит записанную в данный момент речь к элементу и начнет запись снова. Наконец, сделайте URL-адрес blob, чтобы сохранить его как текстовый файл.

Ответ 2

Отметьте http://www.html5rocks.com/en/tutorials/getusermedia/intro/

Захват HTML файлов <input type="file">

Работайте с большинством мобильных браузеров, но это работает не так, потому что для этого потребуется собственное приложение для записи и должно быть активным вручную.

getUserMedia() и WebRTC

До сих пор только Chromium хорошо поддерживал его в мобильных устройствах.

Итак, я отказался от веб-приложения. Гибридное приложение - это решение.

Если вы хотите попробовать гибридное приложение для записи, вы можете проверить плагин Cordova https://github.com/emj365/cordova-plugin-audio-recorder-api, который я создал для записи задачи в гибридное приложение.