2015-01-05 2 views
1

Для API веб-аудио, есть способ изменить продолжительность для start(); например начать (0,0,3), после того, как звук был сыгран в течение 2-х секунд, теперь я хочу, чтобы играть в течение 5 секунд вместо 3.изменение продолжительности запуска() в веб-аудио

или

я должен запланировать последовательное начало (), чтобы подобрать, где было остановлено предыдущее?

Заранее спасибо.

ответ

0

Короткий ответ: Нет. Вы не можете изменить установленную продолжительность с помощью аргумента.

Длинный ответ:

Так start принимает 3 аргумента, when, offset, duration. Но all of those are optional. Если вы не передадите аргумент duration, он будет продолжать играть до конца буфера (или продолжит цикл, если у вас есть loop свойство, установленное на true).

Так один из способов сделать то, что вы хотите, чтобы не пройти в duration аргумент start, а затем вызвать stop функцию, когда вы хотите, чтобы остановить воспроизведение (после 5 секунд). stop также можно планировать в расширенном режиме с использованием параметра when. Таким образом, в вашем случае он будет называть что-то вроде stop(context.currentTime + 3) с отметкой 2s.

+0

Спасибо, что решил мой вопрос, но теперь новый вопрос возникает из решения stop(). длительность фактически не заканчивала бы звуковой буфер, но stop() будет, если я хочу бесконечно разыграть один и тот же диапазон в звуковом буфере (скажем, на основе изменения пользовательского ввода), что является хорошим подходом при этом. –

+0

Вы можете вызвать функцию 'stop' в обратном вызове события ввода пользователя. Таким образом, вы можете немедленно остановить (или после задержки), когда произойдет вход пользователя. – notthetup

+0

Извините, я думаю, что я, возможно, не мог четко рассказать о своем вопросе, на неопределенный срок, я имел в виду, как в цикле. Скажем, я хочу воспроизводить звук из точки A в точку B (с динамической изменчивостью точки B) несколько раз, если остановка используется после определения точки B, то я не мог снова воспроизвести от точки A до точки B , –

Смежные вопросы