Запись голоса с IPhone с использованием HTML5

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

Ответы

Ответ 1

Вы можете попробовать HTML Media Capture. В статье на dev.opera говорится:

Android OS 3.0 стала первой платформой для обеспечения захвата HTML Media поддержку через браузер Android Webkit по умолчанию. Теперь HTML Media Capture также поддерживается:

  • Safari и Chrome Mobile для iOS 6 +
  • Chrome Mobile для Android OS 3 +
  • Firefox Mobile для Android OS 3 +
  • Opera 16 для Android OS 3 +

Тем не менее некоторые из них частично реализуют спецификацию или реализовать более старую спецификацию W3C, которая делает код выше немного отличается:

<input type="file" accept="image/*" capture="camera">
<input type="file" accept="video/*" capture="camcorder">
<input type="file" accept="audio/*" capture="microphone">

Он ссылается на демонстрационную страницу, которую вы можете попробовать на своем мобильном устройстве. Я также нашел эту страницу примера. В моем быстром тестировании iOS 7 он работал только правильно для фотографий и видео.


Изменить: Дальнейшее чтение предлагает accept="audio/*" на самом деле не поддерживается на iOS 6 и 7, только accept="image/*" и accept="video/*".


Обновление: быстрый тест на iOS 8.3 показывает, что здесь ничего не изменилось: accept="image/*" и accept="video/*" поддерживаются, но accept="audio/*" нет.


Обновление: быстрый тест на iOS 10.0.2 предполагает, что accept="audio/*" по-прежнему не поддерживается, хотя похоже, что вы можете загрузить аудиофайл с iCloud Drive или Dropbox.


Обновление: несмотря на то, что он говорит в сообщении блога Webkit, по-прежнему не поддерживается поддержка accept="audio/*" в iOS 10.3 on мой iPhone 5S.


Обновление: та же история в iOS 11.0.3. По-прежнему не поддерживается поддержка accept="audio/*" на моем iPhone 5S.

Ответ 2

Это не будет работать на веб-сайте, но если вы хотите переработать свое веб-приложение в мобильном приложении с помощью Cordova, это позволит вам использовать микрофонный вход. Получает некоторые знания веб-аудио api для работы.

https://github.com/edimuj/cordova-plugin-audioinput

И RecorderJS записать свой вывод:

https://github.com/mattdiamond/Recorderjs

Кто-то, выше упомянутый RecorderJS, не работает на мобильном устройстве, но он это делает, это просто микрофонный вход, который не работает.

В настоящее время я не знаю, как записать запись микрофона в браузере на мобильном устройстве

Ответ 4

В webkit-браузерах i.e.Chrome и Safari в iOS вы можете использовать пользовательский интерфейс api с webkitGetUserMedia. Подробности можно найти здесь: html5rocks