我想使用MediaRecorder在Chrome网络浏览器中捕获音频,然后将编码后的音频数据发送到Android应用以进行实时播放。
我找不到双方都支持的任何音频格式。我试图使用opus编解码器,但Chrome仅支持webm容器,而Android支持ogg
正确的做法是什么?我不想使用WebRTC。我可以使用一些数据转换器/编码器,但是我发现的所有库都是过时的/被遗弃的/不安全的。

最佳答案

webm容器格式有时存储在.mkv文件中。
Android 5+几乎吃掉Chromium MediaRecorder类提供的任何webm。如果您给MediaRecorder一个来自getUserMedia()的MediaStream,并要求它提供正确的MIME类型,您将在webm中获得Opus的文本框。

const mediaRec = new MediaRecorder(stream, {mimeType: 'audio/webm;codecs=opus'})
如果将其放入文件中,请使用name.webmname.mkv对其进行命名。 Android已经能够处理它很长时间了。
mkvtoolnix program帮助您检查这些webm文件以查看其中的内容。
如果仍然无法解决您的问题,请发表评论。

关于audio - 在网络上录制音频并将数据发送到Android应用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64670805/

10-10 01:50