[英]how to convert getUsermedia audio stream into a blob or buffer?
[英]Blob audio file is corrupted after being recorded in browser with getUserMedia
我用瀏覽器錄制音頻,然后通過 ajax 將 blob 文件發送到我的服務器。 我可以用播放器打開它並聽到我的聲音。 然而它已損壞,盡管有幾秒鍾的錄音,播放器顯示音頻長達 435 小時。 我想將它以二進制形式發送到轉錄服務,但它無法識別這種形式的文件。 我有哪些選擇? 我可以用 python 以某種方式修復它,或者用 js 正確設置元數據嗎?
mediaRecorder.onstop = function() {
var blob = new Blob(chunks, {'type': 'audio/wav'});
var formData = new FormData();
formData.append('audio', blob, 'audio.wav');
$.ajax({
type: 'POST',
url: 'http://localhost:5000/ajax/get_file/',
data: formData,
processData: false,
contentType: false,
success: function(response) {
console.log(response)
}
});
沒關系,我使用 Recorder.js 代替它內置了 wav 導出。 元數據現在已正確設置
告訴錄音機使用什么格式:
const recorder = new MediaRecorder(stream, {mimeType: 'audio/wav'});
然后不要對 blob 構造函數中的格式撒謊:
const blob = new Blob(chunks, {type: chunks[0].type});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.