问题描述
我在 ionic 应用程序中使用 AudioContext 将原始 PCM 音频数据流式传输到后端,如果客户端是 Android 上的谷歌浏览器,则生成的音频会出现很多卡顿现象。所有其他 Android 浏览器都可以正常工作(尝试过 firefox、edge 和三星浏览器),所有桌面浏览器也可以正常工作,包括谷歌浏览器。
startRecording() {
navigator.mediaDevices
.getUserMedia({
audio: {
echoCancellation: true,},})
.then((s) => {
this.stream = s;
this.record();
this.startRecordingStream(this.stream);
});
startRecordingStream(s) {
let audioContext = new AudioContext();
this.scriptprocessor = audioContext.createscriptprocessor(2048,2,1);
let input = audioContext.createmediastreamsource(s);
input.connect(this.scriptprocessor);
this.scriptprocessor.connect(audioContext.destination);
this.scriptprocessor.addEventListener("audioprocess",this.streamAudioData);
}
我尝试在客户端记录缓冲区,它周期性地散布零。
我还在我的设备上测试了这个示例 https://mozdevs.github.io/MediaRecorder-examples/filter-and-record-live-audio.html,它使用了 audioContext,它似乎在 android 上的 google chrome 上遇到了相同的音频口吃。
是否有任何解决方法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)