来自Python的JS的麦克风音频

时间:2018-12-09 20:46:19

标签: javascript python webm

我正在录制网站上的麦克风输入并将此音频发送到后端:

navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => {
  const mediaRecorder = new MediaRecorder(stream);
  mediaRecorder.start();

  const audioChunks = [];
  mediaRecorder.addEventListener("dataavailable", event => {
    audioChunks.push(event.data);
  });

  mediaRecorder.addEventListener("stop", () => {
    const audioBlob = new Blob(audioChunks);

    const data = new FormData();
    data.append('speech', audioBlob, 'command');

    axios.post('/command', data)
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });
  });
});

在我的后端(在Flask上运行)上,我无法打开(或访问)它。当我使用wave模块时:

audio = request.files['speech']
audio.save(audio.filename)

with wave.open(audio.filename, 'r') as speech:
  # Do something ...
  return jsonify({
    'status': "OK",
  })

我将收到错误消息wave.Error: file does not start with RIFF id。如何解决呢?我应该将其转换为其他格式(音频似乎是WebM格式)吗?什么是正确的方法,如何使用Python处理来自网站的麦克风音频?

0 个答案:

没有答案