Android Chrome 中的 AudioContext 音频卡顿

问题描述

我在 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 (将#修改为@)