gpt4 book ai didi

javascript - 如何重启 AudioBufferSourceNode?

转载 作者:行者123 更新时间:2023-11-29 18:14:02 27 4
gpt4 key购买 nike

我在 WebAudio API ( http://webaudio.github.io/web-audio-api/) 中找不到重新启动 AudioBufferSourceNode 的方法。 “循环”模式不合适,因为我需要在它结束之前重新启动节点。

我尝试通过以下方式实现它:

  1. 停止
  2. 从缓冲区重新创建节点
  3. 开始

但随后有几分之一秒没有声音,导致过渡不流畅。

重启 AudioBufferSourceNode 的最佳方法是什么?

最佳答案

1) 你不能重启一个buffersourcenode。它们是一次性交易 - 一旦停止,您需要将它们丢弃并创建一个新的(指向相同的 AudioBuffer)。

2) 您需要提前计划,以便在停止播放的同时重新开始播放。 Javascript 不是实时语言,因此播放发生在不同的线程上。

3) 如果您只是想接近但仍然重叠,您可能需要在结尾和开始处放置信封以平滑过渡 - 例如使用 setTargetAtTime 使增益值上升(在开始时)和下降(在停止时间)。

关于javascript - 如何重启 AudioBufferSourceNode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24913361/

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