AudioWorkletGlobalScope: свойство currentFrame
Базовая Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2021 года.
Только для чтения currentFrame свойство интерфейса AudioWorkletGlobalScope возвращает целое число, представляющее постоянно увеличивающееся текущее значение кадра выборки обрабатываемого аудиоблока. Оно увеличивается на 128 (размер кванта рендеринга) после обработки каждого аудиоблока.
Значение
Целое число.
Примеры
Процессор AudioWorkletProcessor имеет доступ к конкретным свойствам AudioWorkletGlobalScope:
// AudioWorkletProcessor defined in : test-processor.js
class TestProcessor extends AudioWorkletProcessor {
constructor() {
super();
// Logs the current sample-frame and time at the moment of instantiation.
// They are accessible from the AudioWorkletGlobalScope.
console.log(currentFrame);
console.log(currentTime);
}
// The process method is required - output silence,
// which the outputs are already filled with.
process(inputs, outputs, parameters) {
return true;
}
}
// Logs the sample rate, that is not going to change ever,
// because it's a read-only property of a BaseAudioContext
// and is set only during its instantiation.
console.log(sampleRate);
// You can declare any variables and use them in your processors
// for example it may be an ArrayBuffer with a wavetable.
const usefulVariable = 42;
console.log(usefulVariable);
registerProcessor("test-processor", TestProcessor);
Основной скрипт загружает процессор, создаёт экземпляр AudioWorkletNode, передаёт имя процессора и подключает узел к аудиографу. Мы должны увидеть вывод вызовов console.log() в консоли:
const audioContext = new AudioContext();
await audioContext.audioWorklet.addModule("test-processor.js");
const testNode = new AudioWorkletNode(audioContext, "test-processor");
testNode.connect(audioContext.destination);
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
currentFrame |
66 | 79 | 76 | 53 | 14.1 | 66 | 79 | 47 | 14.5 | 9.0 | 66 |
См. также
© 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/AudioWorkletGlobalScope/currentFrame