微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android Chrome 中的 AudioContext 音频卡顿

如何解决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 举报,一经查实,本站将立刻删除。