Подтвердить что ты не робот

Как записывать аудио на веб-странице (iOS, Android, ПК /Mac ) - без вспышки

У меня есть требование разрешить пользователю записывать аудиофайл с помощью микрофона, но он должен работать без вспышки, поскольку он должен работать на iOS (мобильном сафари), в браузере Android или в Chrome, и на современном браузере на PC/Mac.

Есть ли простой, простой метод HTML5 для записи аудио и публикации на сервер? Я ничего не смог найти.

4b9b3361

Ответ 1

Вы можете использовать HTML5 API WebAudio.

Введение в аудио и видео захват Захват аудио и видео в HTML5

Хорошая библиотека для записи звука с образцами Recorder.js

Полный и рабочий пример с использованием Recorder.js Как записывать аудио в Chrome с помощью собственных API HTML5

Другие демонстрации API WebAudio Демо-версии и библиотеки HTML5 Web Audio API

Поддерживаемые браузеры Могу ли я использовать API веб-аудио?

Что касается отправки данных на другой сервер, используя Recorder.js, вы можете получить звуковой буфер, тогда вы можете использовать XMLHttpRequest для POST массива или буфера для целевого сервера напрямую или кодироваться как base64.

MDN: Отправка и получение двоичных данных

Html5Rocks: Новый трюк XMLHttpRequest2, отправка данных

Ответ 2

Профессионально говоря, я бы сказал, нет, есть аудио API для HTML5, но их реализация в разных браузерах сейчас меняется. Если вы делаете это для технической демонстрации сорта, то этого может быть достаточно, но в противном случае вам может понадобиться вернуться к другим технологиям, таким как flash и/или родные приложения, для получения более надежных результатов.

Ответ 3

getUserMedia() теперь широко поддерживается на мобильных устройствах:

и рабочий стол:

  • Сафари 11
  • Хром
  • Fire Fox
  • Край 12
  • опера

После получения разрешения на веб-камеру/микрофон и вы можете получить данные микрофона:

  • кодировать звук с использованием JS-библиотек, таких как Recorder.js (wav), WebAudioRecorder.js (wav, mp3, Vorbis) или vmsg (mp3).
  • или использовать (собственный) Media Recorder API для захвата звука Opus в файлах.ogg(Firefox) и.webm(Chrome) вместе с этим аккуратным полифоном для Safari 11 и Edge, который создает WAV файлы.

Вот демо, которое я сделал (живое демо, источник на GitHub), в котором используется Matt Diamond Recorder.js для записи звука (pcm в.wav файлах), работающего в Safari на iOS 11. Щелчок "Запись" предлагает пользователю разрешить доступ к микрофону:

Recorder.js demo running on iOS 11 Clicking Record prompts the user to allow microphone access