gpt4 book ai didi

javascript - AudioWorklet是否在PC和Android上播放Chrome声音时延迟最小?

转载 作者:行者123 更新时间:2023-12-02 23:27:04 25 4
gpt4 key购买 nike

我尝试了音频html标签,tonejs,音频网络api,并且在Android和PC的浏览器(Chrome浏览器)上仍然有大约110毫秒的时间。

我看到有这个JavaScript音频worlet(super()),但我不知道在此过程中是否可以播放样本

最佳答案

是的,AudioWorklet的延迟将小于3ms(128个样本/ 48,000hz = 2.67ms),并且可以通过将解码的PCM样本发送到process()的输出缓冲区中来充当播放器。 AudioWorklets在浏览器中不受广泛支持,因此 AudioBuffer 是一个很好的跨浏览器替代方案,并且效果很好。

本示例加载一堆音频文件并立即在它们之间切换播放:https://opus-bitrates.anthum.com

audio-player-worklet.js

class AudioPlayer extends AudioWorkletProcessor {
decodedAudio // Float32Array data to play (interleaved or separate)

constructor() {
super()

// set audio to play when received from main/worker thread
this.port.onmessage = ({ data: { decodedAudio } }) => {
this.decodedAudio = decodedAudio
}
}

process(inputs, outputs) {
if (this.decodedPCMAudio) {
// copy 128 samples from decodedAudio to outputs channels
}

// run process() again for next 128 samples
return true
}
}

registerProcessor('audio-player', AudioPlayer)

关于javascript - AudioWorklet是否在PC和Android上播放Chrome声音时延迟最小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61234451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com