Spec-Zone.ru › Web APIs

AudioContext: метод getOutputTimestamp()

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

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

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

Метод getOutputTimestamp() интерфейса AudioContext возвращает новый объект AudioTimestamp, содержащий две значения временных меток аудио, относящиеся к текущему аудиоконтексту.

Два значения следующие:

  • AudioTimestamp.contextTime: Время текущей выборки кадра, в данный момент рендерится устройством аудиовывода (т.е., позиция выходного аудиопотока), в тех же единицах и с таким же началом, что и время AudioContext.currentTime контекста. По сути, это время после создания аудиоконтекста.
  • AudioTimestamp.performanceTime: Оценка момента, когда выборка кадра, соответствующая сохраненному значению contextTime, была рендерирована устройством аудиовывода, в тех же единицах и с таким же началом, что и performance.now(). Это время после первоначального рендеринга документа, содержащего аудиоконтекст.

Синтаксис

getOutputTimestamp()

Параметры

Нет.

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

Объект AudioTimestamp, который имеет следующие свойства.

  • contextTime: Точка во временной системе координат currentTime для BaseAudioContext; время после создания аудиоконтекста.
  • performanceTime: Точка во временной системе координат интерфейса Performance; время после первоначального рендеринга документа, содержащего аудиоконтекст

Примеры

В следующем коде мы начинаем воспроизведение аудиофайла после нажатия кнопки воспроизведения и запускаем цикл requestAnimationFrame, который постоянно выводит значения contextTime и performanceTime.

Полный код этого примера можно найти по адресу output-timestamp (посмотреть онлайн).

// Press the play button
playBtn.addEventListener("click", () => {
  // We can create the audioCtx as there has been some user action
  if (!audioCtx) {
    audioCtx = new AudioContext();
  }
  source = new AudioBufferSourceNode(audioCtx);
  getData();
  source.start(0);
  playBtn.disabled = true;
  stopBtn.disabled = false;
  rAF = requestAnimationFrame(outputTimestamps);
});

// Press the stop button
stopBtn.addEventListener("click", () => {
  source.stop(0);
  playBtn.disabled = false;
  stopBtn.disabled = true;
  cancelAnimationFrame(rAF);
});

// Helper function to output timestamps
function outputTimestamps() {
  const ts = audioCtx.getOutputTimestamp();
  output.textContent = `Context time: ${ts.contextTime} | Performance time: ${ts.performanceTime}`;
  rAF = requestAnimationFrame(outputTimestamps); // Reregister itself
}

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

Спецификация
Web Audio API
# dom-audiocontext-getoutputtimestamp

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
getOutputTimestamp 57 79 70 44 14.1 57 79 43 14.5 7.0 57

© 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/AudioContext/getOutputTimestamp

Spec-Zone.ru

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