Flaskを使用してJSからPythonに.wavオーディオファイル(BLOB)を送信しようとしています。私は単純にファイルをPythonの最後に保存し、それを自分のコンピュータで再生できるようにしたいだけです。ここに私の試みは、次のとおりです。JSからPythonへのオーディオデータの送信
JS:ファイルが保存されただけshitloadsが含まれています
@app.route('/messages', methods = ['POST'])
def api_message():
# Open file and write binary (blob) data
f = open('./file.wav', 'wb')
f.write(request.data)
f.close()
return "Binary message written!"
:PythonのブロブはタイプBlob {size: 5040, type: "audio/wav;"}
である
fetch(serverUrl, {
method: "post",
body: blob
});
[object BlobEvent]
です。私は間違って何をしているのですか?どうすれば修正できますか?
編集: オーディオサンプルがMediaRecorder()
const mediaRecorder = new MediaRecorder(stream);
// Start
const chunks = [];
mediaRecorder.ondataavailable = e => {
chunks.push(e);
}
// On stop
blob = new Blob(chunks, {'type': 'audio/wav;'});
を使用して収集され、私はクライアント側で再びオーディオを再生しようと、それだけで正常に動作します:
const audio = document.createElement('audio');
const audioURL = window.URL.createObjectURL(blob);
audio.src = audioURL;
あるべきではJavaScriptオブジェクトのデフォルトの表現のように見えます。つまり、あなたの 'blob'変数の内容はバイナリデータではありません。 'blob'はどのように設定されていますか? –
ご意見ありがとうございます。私はブロブに関するいくつかの追加情報で私の質問を更新しました – novalain