Есть ли способ записи звука и его потоковой передачи в режиме реального времени на сервер с помощью fetch () в React Native? - PullRequest
0 голосов
/ 04 ноября 2018

Пытаясь записать файл, и во время его записи я хочу отправить его на сервер с помощью fetch (). Есть ли библиотека, которая записывает звук и непрерывно передает его в файл (или API)?

1 Ответ

0 голосов
/ 05 ноября 2018

Вы задаете несколько вопросов одновременно. Давайте разбить его на куски.

Как мне захватить звук?

Я предполагаю, что вы хотите записать звук с микрофона или другого устройства ввода звука. Для этого вам нужно захватить его с помощью MediaDevices API. В частности, вы хотите вызвать getUserMedia(), чтобы получить экземпляр MediaStream с определенного записывающего устройства.

https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia

Как я могу записать MediaStream?

Вы можете использовать MediaRecorder, чтобы взять MediaStream, запустить его через кодек, преобразовать его в определенный формат, такой как WebM, и вывести Blob.

https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder

Как я могу получить данные MediaStream во время их записи?

Когда вы вызываете mediaStream.start(), обязательно вызывайте его с параметром timeslice. Что-то вроде mediaStream.start(3000) будет вызывать событие dataavailable примерно каждые 3 секунды. Затем вы можете взять эти данные и отправить их куда угодно.

Как сделать HTTP-запрос с телом запроса потоковой передачи?

Ты не можешь. По крайней мере, не сегодня. См. Также: Получение с ReadableStream в качестве тела запроса

Что вы можете сделать - это отправить данные через веб-сокеты. Вы также можете делать HTTP-запросы для каждого чанка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...