如何解决将BLOB设置为{type:'audio / mp4'}失败
我有一个在ios上运行的客户端聊天,一个带RN的Android,另一个是在Web上使用ReactJS运行的客户端。 在一项功能中,用户可以录制语音音频(如Whatsapp),在测试多种格式后,只有“ audio / mp4”才能在两种平台(ios和android)上工作。 该错误是在Web应用程序中。声音是用MediaRecord API录制的,我得到一个斑点并通过{type:'audio / mp4'},该声音在网络上可以正常使用,但在移动客户端上不起作用。 代码:
navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => {
let audioChunks = []
this.recorder = new MediaRecorder(stream)
this.recorder.start();
let interval
this.recorder.ondataavailable = (e) => {
audioChunks.push(e.data);
}
this.recorder.onstop = (e) => {
//obtain file and convert to blob type: 'audio/mp4'
let blob = new Blob(audioChunks,{ "type": "audio/mp4" })
//save audio recorded
this.props.saveAudioRecorded(blob)
//clean audioChunks array
audioChunks = [];
//Stop stream
stream.getTracks().forEach(track => {
track.stop();
});
}
}
})
查看元数据,我发现文件未格式化为“ audio / mp4”,而是返回MKA类型,这就是它在移动设备上不起作用的原因。
现在,如何正确将音频转换为“音频/ mp4”和AAC编码?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。