为了账号安全,请及时绑定邮箱和手机立即绑定

使用 getUserMedia 在浏览器中录制 Blob 音频文件后损坏

使用 getUserMedia 在浏览器中录制 Blob 音频文件后损坏

慕姐4208626 2021-11-12 18:15:40
我使用浏览器录制音频,然后通过 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)        }    });
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

告诉记录器使用什么格式:

const recorder = new MediaRecorder(stream, {mimeType: 'audio/wav'});

然后不要对 blob 构造函数中的格式撒谎:

const blob = new Blob(chunks, {type: chunks[0].type});


查看完整回答
反对 回复 2021-11-12
?
呼如林

TA贡献1798条经验 获得超3个赞

没关系,我使用 Recorder.js 而不是它内置了 wav 导出。现在元数据设置正确


查看完整回答
反对 回复 2021-11-12
  • 2 回答
  • 0 关注
  • 293 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信