我在将浏览器中创建的音频发送到后端进行存储时遇到了问题。我在前端使用React,在Web Audio API上允许用户创建音频。但是,当我发送音频时,后端只接收到一个空对象。有没有人知道如何使数据持久化以便于稍后播放并存储在数据库中?
mediaRecorderOnStop() {
console.log("data available after MediaRecorder.stop() called.");
const clipName = prompt('Enter a name for your sound clip?', 'My unnamed clip')
//creating new blob object
const blob = new Blob(this.state.chunks, { 'type': 'audio/ogg; codecs=opus' });
//sending data to the backend
uploadDocumentRequest(this.props.createClip(blob, clipName))
this.setState({
chunks: []
})
console.log("recorder stopped");
}
//makes a api post request to server
export function uploadDocumentRequest(data) {
axios.post('/api/createAudio', data)
.then(response => console.log(uploadSuccess(response)))
.catch(error => console.log(uploadFail(error)));
这是我的代码图片:https://istack.dev59.com/TNmEP.webp