Почему MediareCorder.ondataavailable return пустые капли (event.data.size === 0) на некоторых устройствах?Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Почему MediareCorder.ondataavailable return пустые капли (event.data.size === 0) на некоторых устройствах?

Сообщение Anonymous »

Я строю веб -приложение, которое отражает микрофон аудио с использованием медиа -заповедника и отправляет его на бэкэнд для обработки. Все отлично работает на большинстве устройств (настольный и мобильный), но на некоторых устройствах MediareCorder.OndataAvailable обратный вызов вызывается с пустой каплей (event.data.size === 0), что делает невозможным захват полезного аудио.const recorder = new MediaRecorder(stream, {
mimeType: 'audio/webm;codecs=opus',
})

recorder.ondataavailable = (event) => {
if (event.data.size > 0) {
chunksRef.current.push(event.data)
dataReadyRef.current = true
} else {
console.warn('Empty blob update:', event.data)
}
}
< /code>
Я звоню в Recorder.start (1000), чтобы получить аудио куски каждую секунду. Позже я использую Recorder.stop (), чтобы завершить каплей.Empty blob update: Blob {size: 0, type: 'audio/webm;codecs=opus'}
< /code>
Мои вопросы:
1. Зачем запустить ondataavailable с пустыми каплями?
2. Существуют ли известные ограничения с MedieareCorder между устройствами /браузерами?
3. Существует ли рекомендуемая стратегия резерва, чтобы гарантировать, что мы все еще получаем полезные аудио -капли?
Любая помощь или советы будут оценены.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ata-size-0
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»