【问题标题】:Decode audio and play intro then looped part解码音频并播放介绍然后循环播放部分
【发布时间】:2017-07-13 02:13:58
【问题描述】:

我有一首歌曲,由前奏 (I)、要循环的部分 (L) 和结尾 (E) 组成。我根本不想播放结局,即音频文件歌曲 = I + L + E,播放的音频 = I + L + L + ...

我通过将介绍和循环分成两个文件成功地做到了这一点,但我想在客户端“即时”执行此操作。

我该怎么做?

【问题讨论】:

    标签: javascript web-audio-api


    【解决方案1】:

    Web Audio API 正是为此提供了AudioBufferSourceNode.loopStartAudioBufferSourceNode.loopEnd (source)。您还必须记住设置AudioBufferSourceNode.loop = true

    【讨论】:

      【解决方案2】:

      如果您想使用 Web Audio 播放文件(例如,使用 decodeAudioData() 解码为 AudioBuffer,然后使用 BufferSourceNodes 播放声音),那么通过将两个 BufferSource Nodes 指向具有不同偏移量的缓冲区很容易,并且循环第二个。

      Web Audio 使用双精度数(不是浮点数) - 因此“这比浮点秒数更准确”的说法通常不正确(双精度数大约有 15 个小数位)。 (当然,取决于绝对值。)使用采样精度(即不会在值之间出现故障)已经足够准确了;但是,如果您担心,只需在它们之间进行淡入淡出即可。

      如果您的目标真的只是制作一个循环播放该部分的音频文件,那就有点不同了;但听起来你想要播放。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-03
        • 1970-01-01
        • 1970-01-01
        • 2022-01-10
        • 2017-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多