Spec-Zone.ru › Web APIs

AudioBufferSourceNode: метод start()

Базовая поддержка Широко распространена

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2021 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Метод start() интерфейса AudioBufferSourceNode используется для планирования воспроизведения аудиоданных, содержащихся в буфере, или для непосредственного начала воспроизведения.

Синтаксис

start(when)
start(when, offset)
start(when, offset, duration)

Параметры

when Необязательно

Время в секундах, когда звук должен начать воспроизводиться, в той же системе координат времени, что и у AudioContext. Если значение when меньше (AudioContext.currentTime, или если оно равно 0, звук начнётся сразу. По умолчанию значение равно 0.

offset Необязательно

Смещение, заданное в секундах в той же системе координат времени, что и у AudioContext, до момента во времени в аудиобуфере, с которого должно начаться воспроизведение. Например, чтобы начать воспроизведение в середине 10-секундного аудиофрагмента, значение offset должно быть равно 5. По умолчанию значение 0 начнёт воспроизведение с начала аудиобуфера, а смещения, превышающие конец аудиофрагмента (определяемого длительностью аудиобуфера duration и/или свойством loopEnd), будут молча ограничены максимальным допустимым значением. Вычисление смещения в звуке выполняется с использованием собственной частоты дискретизации буфера звука, а не текущей скорости воспроизведения, поэтому даже если звук воспроизводится в два раза быстрее, середина 10-секундного аудиобуфера всё равно будет 5 секундами.

duration Необязательно

Продолжительность воспроизводимого звука в секундах. Если этот параметр не указан, звук воспроизводится до его естественного завершения или остановки с помощью метода stop(). Использование этого параметра функционально эквивалентно вызову start(when, offset) и затем вызову stop(when+duration).

Возвращаемое значение

None (undefined).

Исключения

TypeError

Выбрасывается, если для одного или нескольких временных параметров было указано отрицательное значение. Пожалуйста, не пытайтесь нарушать законы временной физики.

InvalidStateError DOMException

Выбрасывается, если метод start() уже был вызван. Вы можете вызвать эту функцию только один раз за время существования AudioBufferSourceNode.

Примеры

Самый простой пример просто запускает воспроизведение аудиобуфера с самого начала — в этом случае не нужно указывать никаких параметров:

source.start();

Следующий более сложный пример начнёт воспроизведение 10 секунд звука, начиная с 3 секунды аудиобуфера, через 1 секунду.

source.start(audioCtx.currentTime + 1, 3, 10);

Примечание: Для более полного примера использования start() ознакомьтесь с нашим примером AudioContext.decodeAudioData(). Вы также можете попробовать пример онлайн и взглянуть на исходный код примера.

Спецификации

Спецификация
Web Audio API
# dom-audiobuffersourcenode-start

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
start 24 12 25 15 7 25 25 14 7 1.5 4.4.3

См. также

  • Использование Web Audio API

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API