对于Web Audio API,有没有办法改变start()的持续时间;例如开始(0,0,3),声音播放2秒后,现在我希望它播放5秒而不是3秒。
或
我是否必须安排一个连续的开始()来拾取前一个离开的位置?
提前致谢。
答案 0 :(得分:0)
简答:否。您无法使用参数更改设置的持续时间。
答案很长:
因此start
接受3个参数,when
,offset
,duration
。但是all of those are optional。如果你没有传入duration
参数,它将一直播放到缓冲区的末尾(或者如果loop
属性设置为true
则保持循环)。
所以,你想做的事情的一种方法是不将duration
参数传递给start
,然后在你希望它停止播放时调用stop
函数(在5s之后) 。 stop
也可以使用when
参数进行高级调度。所以在你的情况下,它会在2s标记处调用类似stop(context.currentTime + 3)
的内容。