大话Web-Audio-Api
生活随笔
收集整理的這篇文章主要介紹了
大话Web-Audio-Api
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大話Web-Audio-Api
?
?
?
?
轉:https://www.jianshu.com/p/0079d1fe7496
?
簡單的例子:
<script>var context;var musicBuffer;window.addEventListener('load',init,false);function init(){try{window.AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.msAudioContext;context = new window.AudioContext();loadSound("m.mp3");//獲取音頻 }catch (e) {alert(e);}}//獲取音頻數據function loadSound(url){var request = new XMLHttpRequest();request.open('GET',url,true);request.responseType= 'arraybuffer';request.send();//下面就是對音頻文件的異步解析request.onload = function(){context.decodeAudioData(request.response,function(buffer){musicBuffer = buffer;console.log(context);console.log(musicBuffer);playSound(context, musicBuffer);//獲取成功后播放 });}}//播放音頻數據function playSound(audioContext, buffer) {var audioBufferSouceNode = audioContext.createBufferSource(),analyser = audioContext.createAnalyser();//將source與分析器連接 audioBufferSouceNode.connect(analyser);//將分析器與destination連接,這樣才能形成到達揚聲器的通路 analyser.connect(audioContext.destination);//將上一步解碼得到的buffer數據賦值給sourceaudioBufferSouceNode.buffer = buffer;//播放audioBufferSouceNode.start(0);//音樂響起后,把analyser傳遞到另一個方法開始繪制頻譜圖了,因為繪圖需要的信息要從analyser里面獲取//this._drawSpectrum(analyser);//可以繪制波形圖 }</script>?
上面例子也受同源跨域策略影響
?
轉載于:https://www.cnblogs.com/fps2tao/p/9234750.html
總結
以上是生活随笔為你收集整理的大话Web-Audio-Api的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ 1860 Currency Ex
- 下一篇: 自动化测试中,测试数据如何管理?