Audio 在网络上录制音频并将数据发送到Android应用程序

Audio 在网络上录制音频并将数据发送到Android应用程序,audio,android-mediaplayer,audio-streaming,web-mediarecorder,Audio,Android Mediaplayer,Audio Streaming,Web Mediarecorder,我想使用MediaRecorder在Chrome web浏览器中捕获音频,并将编码后的音频数据发送到Android应用程序进行实时播放 我找不到任何两边都支持的音频格式。我试着使用opus编解码器,但Chrome只支持webm容器,Android支持ogg 这样做的正确方式是什么?我不想使用WebRTC。我可以使用一些数据转换器/编码器,但我发现的所有库都已过时/废弃/不安全。webm容器格式有时存储在.mkv文件中 Android 5+几乎吃掉了ChromiumMediaRecorder类提供

我想使用
MediaRecorder
在Chrome web浏览器中捕获音频,并将编码后的音频数据发送到Android应用程序进行实时播放

我找不到任何两边都支持的音频格式。我试着使用opus编解码器,但Chrome只支持webm容器,Android支持ogg


这样做的正确方式是什么?我不想使用WebRTC。我可以使用一些数据转换器/编码器,但我发现的所有库都已过时/废弃/不安全。

webm容器格式有时存储在.mkv文件中

Android 5+几乎吃掉了Chromium
MediaRecorder
类提供的所有webm。如果您给
MediaRecorder
一个来自
getUserMedia()
的媒体流,并要求它提供正确的MIME类型,您将在webm中获得Opus

const mediaRec = new MediaRecorder(stream, {mimeType: 'audio/webm;codecs=opus'})
如果将其放入文件中,请使用
name.webm
name.mkv
对其进行命名。Android已经能够处理它很长一段时间了

帮助您检查这些webm文件以查看其中的内容


如果这没有解决您的问题,请发表评论。

哦,我不知道我可以互换使用mkv和webm。我确信那些容器是不同的。我的假设是基于:,其中提到作品可以用mkv或ogg包装。阅读本主题的更多内容后,我发现:“所有WebM文件都是MKV文件,但并非所有MKV文件都与WebM一致。”