将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类型,这就是它在移动设备上不起作用的原因。

enter image description here

现在,如何正确将音频转换为“音频/ mp4”和AAC编码?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)