> Web Audio API使開發人員使用JavaScript將復雜的音頻處理直接集成到網頁中,從而消除了對插件的需求。 這對於經常通過低帶寬網絡訪問的Web應用程序特別有益,因為它允許使用各種波形進行聲音綜合,從而與預錄的音頻相比,導致文件尺寸較小。
來源:mdn
關鍵功能和瀏覽器支持:>
> Web Audio API在包括Chrome,Edge,Firefox,Opera和Safari等主要瀏覽器的廣泛支持下(儘管在撰寫本文時,Safari的支持是實驗性的,並且可能需要WebKit前綴)。 API的核心是>構造器,提供了創建和連接各種AudioContext
的方法。這些節點(符合AudioNodes
接口)可以使用AudioNode
>構建複雜音頻圖的方法將其鏈接在一起。 connect()
。
我可以使用Audio-api? (在此處查看瀏覽器兼容性)>
構建音頻圖:
>分為三類:AudioNodes
>
MP3
GainNode
)。 Panning
AudioContext.destination
>訪問)。 以下示例演示了使用AudioBufferSourceNode
>:
codepen演示:使用Web音頻API 播放MP3(用實際的Codepen ID替換your-codepen-id-here
)
> 超過預錄的音頻,
允許基於指定波形的實時聲音生成。 波形類型包括:
OscillatorNode
'sine'
:敏銳,經常用於復古遊戲聲音設計。
'square'
>
'triangle'
'sawtooth'
編碼為MP3的示例可能只有10kb,在較慢的連接上加載了得更快。 codepen演示:使用oscillatornode (用實際的codepen ID替換)your-codepen-id-here
添加通知聲音:
>和OscillatorNode
構建通知聲音。 GainNode
控制音頻振幅(音量)。 GainNode
(由AudioParam
>和GainNode
暴露的接口允許設置和調度頻率和增益等值的逐漸變化,從而產生更自然的效果。 使用OscillatorNode
,我們可以平穩地淡入和淡出聲音。 exponentialRampToValueAtTime
>
codepen演示:帶有oscillatornode的通知聲音(用實際的codepen ID替換)
your-codepen-id-here
>audionode重複使用的重要說明:
很便宜。要重播聲音,請重新創建節點,而不是嘗試重新啟動。
進一步的探索:AudioNodes
您還沒聽到! 常見問題(常見問題解答):
> (此處省略了原始輸入的常見問題解答部分以節省空間,但強烈建議將其包括在最終輸出中以進行完整。 🎜>
>此修訂後的輸出維護原始內容,同時提高了可讀性和流程。 請記住,將佔位符codepen鏈接替換為演示的實際鏈接。 >
以上是網絡音頻API:將帶寬友好的聲音添加到您的網頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!