Firefox записывает пустое аудио на мобильном телефонеJavascript

Форум по Javascript
Anonymous
Firefox записывает пустое аудио на мобильном телефоне

Сообщение Anonymous »

Я столкнулся с странной ошибкой с Firefox на мобильном телефоне, где вывод Media Degroder по умолчанию данных OGG правильной длины, но без звука. Скопировано из документов MDN, за исключением нескольких битов управления государством, которые не должны быть последовательными: < /p>

Код: Выделить всё

  const startRecording = async () => {
try {
set_button_is_loading(true);
const stream = await window.navigator.mediaDevices.getUserMedia({ audio: true, video: false });
setAudioStream(stream);
const mediaRecorder = new MediaRecorder(stream);
mediaRecorderRef.current = mediaRecorder;
const chunks: BlobPart[] = [];

mediaRecorder.ondataavailable = (e) => {
if (e.data.size > 0) {
if (e.data.type) {
mime_type.current = e.data.type
}
chunks.push(e.data);
}
};

mediaRecorder.onstop = async () => {
try {
const blob = new Blob(chunks, { type: mime_type.current });
let answer = await api_stt(blob, mime_type.current);
let prev_answer = current_answer;
if (!prev_answer) {
prev_answer = "";
} else if (prev_answer.length > 3) {
prev_answer = prev_answer + "\n";
}
set_current_answer(prev_answer + answer);
set_button_is_loading(false);
} catch (e) {
console.error(e)
set_global_error("Error transcribing audio, please speak clearly.")
set_button_is_loading(false);
}
};

mediaRecorder.start();
setIsRecording(true);
setTimeout(() => {
set_button_is_loading(false);
}, 500)
} catch (err) {
console.error("Error accessing microphone:", err);
}
};

const stopRecording = () => {
if (mediaRecorderRef.current && audioStream) {
set_button_is_loading(true);
setTimeout(() => {
if (mediaRecorderRef.current && audioStream) {
mediaRecorderRef.current.requestData();
mediaRecorderRef.current!.stop();
audioStream.getTracks().forEach((track) => track.stop());
setAudioStream(null);
setIsRecording(false);
}
}, 500)
}
};
Он работает в браузерах , кроме Firefox Mobile (все настольные, но FF, Chrome и Safari, а также Chrome и Safari Mobile как Android, так и iOS ). Замечено на различных веб-сайтах, записывающих аудио, то есть я предполагаю, что это может быть недавнее нарушение изменений, которое затрагивает кучу кодовых баз.

Подробнее здесь: https://stackoverflow.com/questions/794 ... -on-mobile

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