如何解决如何将 Javascript 音频 blob 写入 Python wave?
我正在尝试创建一个每 n 秒接受一个音频 blob 并将其写入波形文件的 Flask 端点:
烧瓶:
@app.route('/api/v01/post/audio-blob/',methods=['POST'])
def api_post_audio_blob():
blob = request.data
with open('file.wav','ab') as f:
f.write(blob)
return Response(status=200)
Javascript:
const startButton = document.getElementById("start");
startButton.addEventListener("click",function() {
/* Get client-side audio stream */
var constraints = { audio: true }
var chunks = []
navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
const recorder = new MediaRecorder(stream);
recorder.ondataavailable = event => {
chunks.push(event.data);
var blob = new Blob(chunks,{
type: "audio/wav"
});
var xmlhttp = new XMLHttpRequest();
var url = "http://127.0.0.1:5000/api/v01/post/audio-blob/";
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-type","audio/wav");
xmlhttp.send(blob);
};
recorder.start(10000);
})
.catch(function(err) {
/* handle the error */
});
似乎二进制文件被写入 file.wav,但它没有播放任何声音。有谁知道如何解决这个问题?将不胜感激!
解决方法
上面的代码有效。尝试了另一个解决“问题”的音频播放器
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。