2016-02-05 33 views
1

我想定期調用AudioParam方法'atTime',以便在播放音頻循環時定期調用它們。因此,例如,在方法linearRampToValueAtTime()中,我只能指定一個給定的時間,而不是一段時間。有沒有辦法做到這一點?週期性地調用Audioparam方法

我需要它做一個循環,在這個循環中我漸漸用GainNode結束,並在開始時再次淡入。

回答

1

您可以根據自己喜歡的時間隨時調度AudioParams。

喜歡的東西

for (time = 0; time < endTime; time += interval) { // Fade out gain.gain.setTargetAtTime(0, time, timeConstant); // Fade in gain.gain.setTargetAtTime(1, time + fadeInTime, timeConstant); }

這應該淡出的時間interval*k秒的信號,並在時間interval*k+fadeInTime褪色進去。

+0

好的謝謝。那麼問題是我打算讓循環暫停,所以我應該在每次暫停和播放時重新計算fadeInTime,並且在暫停的情況下會導致一些問題 – de3

+0

您必須描述什麼你想要更詳細的。不知道你的意思是「在...中引起一些問題」。 –

+0

對不起,它是不完整的:「在'褪色區'暫停的情況下」。如果我們在'time'和'fadeInTime'之間的給定時間暫停。當我們再次玩時,我們如何恢復褪色?我們可以計算當時的收益。但我認爲應該有一個更簡單的方法來解決這個問題(我恐怕沒有) – de3

相關問題