Web Audio API: 控制Web上的音频提供了一个功能强大的通用系统,允许开发人员选择音频源,为音频添加效果,创建音频可视化,应用空间效果(如平移)等等
| <button type="button" class="btn-play">play</button> |
| |
| <script> |
| |
| |
| |
| const context = new AudioContext(); |
| console.log('context => ', context); |
| |
| |
| const oscillator = context.createOscillator(); |
| console.log('oscillator => ', oscillator); |
| |
| |
| oscillator.connect(context.destination); |
| |
| |
| oscillator.type = 'sine'; |
| |
| oscillator.frequency.setValueAtTime(880, context.currentTime); |
| |
| const playBtn = document.querySelector('.btn-play'); |
| let paused = false; |
| playBtn.addEventListener('click', () => { |
| |
| oscillator.start(); |
| }); |
| </script> |
点击按钮,音频文件将被获取、解码和播放
| <button type="button" class="btn-play">play</button> |
| |
| <script> |
| |
| |
| |
| const context = new AudioContext(); |
| console.log('context => ', context); |
| |
| const playBtn = document.querySelector('.btn-play'); |
| playBtn.addEventListener('click', async () => { |
| |
| const buf = await fetch('./tts.mp3').then((res) => res.arrayBuffer()); |
| |
| |
| context.decodeAudioData(buf, (decodeData) => { |
| |
| const source = context.createBufferSource(); |
| |
| source.connect(context.destination); |
| source.buffer = decodeData; |
| |
| source.start(); |
| }); |
| }); |
| </script> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix