BaseAudioContext
Web 音訊 API 中的 BaseAudioContext 介面為線上和離線音訊處理圖提供了基礎定義,分別由 AudioContext 和 OfflineAudioContext 表示。您不會直接使用 BaseAudioContext,而是透過這兩個繼承的介面之一來使用它的功能。
BaseAudioContext 可以是事件的目標,因此它實現了 EventTarget 介面。
例項屬性
BaseAudioContext.audioWorklet只讀 安全上下文-
返回
AudioWorklet物件,可用於建立和管理AudioNode,其中實現AudioWorkletProcessor介面的 JavaScript 程式碼在後臺執行以處理音訊資料。 BaseAudioContext.currentTime只讀-
返回一個雙精度浮點數,表示用於排程的不斷增加的硬體時間(以秒為單位)。它從
0開始。 BaseAudioContext.destination只讀-
返回一個
AudioDestinationNode,表示上下文中所有音訊的最終目的地。可以將其視為音訊渲染裝置。 BaseAudioContext.listener只讀-
返回
AudioListener物件,用於 3D 空間化。 BaseAudioContext.sampleRate只讀-
返回一個浮點數,表示此上下文中所有節點使用的取樣率(每秒取樣數)。
AudioContext的取樣率不可更改。 BaseAudioContext.state只讀-
返回
AudioContext的當前狀態。
例項方法
還實現了 EventTarget 介面的方法。
BaseAudioContext.createAnalyser()-
建立一個
AnalyserNode,可用於暴露音訊時域和頻域資料,例如用於建立資料視覺化。 BaseAudioContext.createBiquadFilter()-
建立一個
BiquadFilterNode,表示一個二階濾波器,可配置為多種常見的濾波器型別:高通、低通、帶通等。 BaseAudioContext.createBuffer()-
建立一個新的、空的
AudioBuffer物件,然後可以填充資料並透過AudioBufferSourceNode播放。 BaseAudioContext.createBufferSource()-
建立一個
AudioBufferSourceNode,可用於播放和操作AudioBuffer物件中包含的音訊資料。AudioBuffer使用AudioContext.createBuffer()建立,或者在成功解碼音訊軌道時由AudioContext.decodeAudioData()返回。 BaseAudioContext.createConstantSource()-
建立一個
ConstantSourceNode物件,它是一個音訊源,可連續輸出單聲道(單通道)聲音訊號,所有樣本值都相同。 BaseAudioContext.createChannelMerger()-
建立一個
ChannelMergerNode,用於將多個音訊流的通道合併到單個音訊流中。 BaseAudioContext.createChannelSplitter()-
建立一個
ChannelSplitterNode,用於訪問音訊流的各個通道並單獨處理它們。 BaseAudioContext.createConvolver()-
建立一個
ConvolverNode,可用於將卷積效果(例如混響效果)應用於您的音訊圖。 BaseAudioContext.createDelay()-
建立一個
DelayNode,用於將輸入的音訊訊號延遲一定量。此節點還有助於在 Web 音訊 API 圖中建立反饋迴圈。 BaseAudioContext.createDynamicsCompressor()-
建立一個
DynamicsCompressorNode,可用於對音訊訊號應用聲學壓縮。 BaseAudioContext.createGain()-
建立一個
GainNode,可用於控制音訊圖的整體音量。 BaseAudioContext.createIIRFilter()-
建立一個
IIRFilterNode,表示一個二階濾波器,可配置為多種常見的濾波器型別。 BaseAudioContext.createOscillator()-
建立一個
OscillatorNode,這是一個代表週期性波形的源。它基本上生成一個音調。 BaseAudioContext.createPanner()-
建立一個
PannerNode,用於在 3D 空間中對輸入的音訊流進行空間化。 BaseAudioContext.createPeriodicWave()-
建立一個
PeriodicWave,用於定義可用於確定OscillatorNode輸出的週期性波形。 BaseAudioContext.createScriptProcessor()已棄用-
建立一個
ScriptProcessorNode,可用於透過 JavaScript 直接進行音訊處理。 BaseAudioContext.createStereoPanner()-
建立一個
StereoPannerNode,可用於對音訊源應用立體聲聲像。 BaseAudioContext.createWaveShaper()-
建立一個
WaveShaperNode,用於實現非線性失真效果。 BaseAudioContext.decodeAudioData()-
非同步解碼
ArrayBuffer中包含的音訊檔案資料。在這種情況下,通常在將responseType設定為arraybuffer後,從XMLHttpRequest的response屬性載入ArrayBuffer。此方法僅適用於完整檔案,不適用於音訊檔案的片段。
事件
statechange-
當
AudioContext的狀態因呼叫其中一個狀態更改方法(AudioContext.suspend、AudioContext.resume或AudioContext.close)而改變時觸發。
示例
const audioContext = new AudioContext();
const oscillatorNode = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const finish = audioContext.destination;
規範
| 規範 |
|---|
| Web Audio API # BaseAudioContext |
瀏覽器相容性
載入中…