2016-09-05 105 views
1

我有一首歌曲,包括介紹(I),一部分是環(L)和結尾(E)。我不希望結局被播放,即音頻文件歌曲= I + L + E,音頻播放= I + L + L + ...解碼音頻和播放介紹然後循環部分

我成功地通過將前奏和循環分成兩個文件,但我想在客戶端「即時」執行該操作。

我該怎麼做?

回答

1

Web Audio API爲此準確地提供了AudioBufferSourceNode.loopStartAudioBufferSourceNode.loopEndsource)。你也必須記得設置AudioBufferSourceNode.loop = true

0

如果您想使用Web Audio播放文件(例如,使用decodeAudioData()解碼爲AudioBuffer,然後使用BufferSourceNodes播放聲音),那麼通過將兩個BufferSource節點指向具有不同偏移量的緩衝區很容易,並循環第二個。

網絡音頻使用雙打(而不是浮動) - 所以語句「這比浮點秒精確得多」通常不是真的(雙打大約有15個小數位的精度)。 (當然,取決於絕對值。)它足夠準確地處理採樣精度(即不會在值之間產生干擾)。不過,如果你擔心的是,它們之間的交叉淡入淡出。

如果你的目標實際上只是產生一個帶有該部分的音頻文件,這有點不同;但它聽起來像你想要回放。