我想使用MediaRecorder在Chrome web浏览器中捕获音频,并将编码后的音频数据发送到安卓应用程序进行实时播放。
我找不到任何两端都支持的音频格式。我尝试使用opus编解码器,但是Chrome只支持webm容器,而安卓支持ogg。
这样做的正确方法是什么?我不想使用WebRTC。我可以使用一些数据转换器/编码器,但我发现的所有库都是过时的/废弃的/不安全的。
发布于 2020-11-05 08:18:38
webm容器格式有时存储在.mkv文件中。
安卓5+几乎吃掉了Chromium MediaRecorder类提供的所有webm。如果您给MediaRecorder一个来自getUserMedia()的MediaStream,并要求它提供正确的MIME类型,那么您将在webm中获得Opus。
const mediaRec = new MediaRecorder(stream, {mimeType: 'audio/webm;codecs=opus'})如果将其放入文件中,请使用name.webm或name.mkv对其进行命名。Android已经能够处理它很长一段时间了。
mkvtoolnix program帮助您检查这些webm文件,以了解其中的内容。
如果这篇文章没有回答你的问题,请发表评论。
https://stackoverflow.com/questions/64670805
复制相似问题