<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        HTML5音樂可視化視頻教程的資源推薦

        來源:懂視網 責編:小采 時間:2020-11-27 15:07:20
        文檔

        HTML5音樂可視化視頻教程的資源推薦

        HTML5音樂可視化視頻教程的資源推薦:單純的音樂播放是否過于單調,在聽音樂的同時如果也能看見音樂是否更加帶感。本課程將帶領你使用webAudio和canvas將你的音樂以你喜歡的形式可視化出來,讓你的音樂動起來。課程播放地址:http://www.gxlcms.com/course/327.html該老師講課風格:教
        推薦度:
        導讀HTML5音樂可視化視頻教程的資源推薦:單純的音樂播放是否過于單調,在聽音樂的同時如果也能看見音樂是否更加帶感。本課程將帶領你使用webAudio和canvas將你的音樂以你喜歡的形式可視化出來,讓你的音樂動起來。課程播放地址:http://www.gxlcms.com/course/327.html該老師講課風格:教
        單純的音樂播放是否過于單調,在聽音樂的同時如果也能看見音樂是否更加帶感。本課程將帶領你使用webAudio和canvas將你的音樂以你喜歡的形式可視化出來,讓你的音樂動起來。

        ~DV%DZL]D8HA(]R1HH%$7KK.png

        課程播放地址:http://www.gxlcms.com/course/327.html

        該老師講課風格:

        教師講課深入淺出,條理清楚,層層剖析,環環相扣,論證嚴密,結構嚴謹,用思維的邏輯力量吸引學生的注意力,用理智控制課堂教學進程。學生通過聽教師的講授,不僅學到知識,也受到思維的訓練,還受到教師嚴謹的治學態度的熏陶和感染

        本視頻中較為難點是HTML5音樂可視化了:

        音樂的獲取與播放

        構建應用的前后端

        1,新建媒體數據文件夾,public/media,把音頻數據放入其中
        2,搭建頁面CSS框架,/public/stylesheets/index.css
        3,讀取頁面內容,views/index.ejs
        4,后臺路由控制,routes/index.js,獲取音樂列表并返回給前段

        ajax請求服務端音頻數據

        在javascripts下新建文件index.js,在views/index.ejs引用創建的文件

        <script type="text/javascript" src="/javascripts/index.js"></script>

        編輯創建文件,實現點擊效果

        <ul id="list">
         <% music.forEach(function(name){ %>
         <li title="<%= name %>"><%= name %></li> #設置title屬性
         <% }) %>
        </ul>

        解碼并播放音頻

        AudioContext

        包含各個AudioNode對象以及它們的聯系的對象,即audio上下文對象。一個document中只有一個AudioContext創建:var ac = new window.AudioContext();

        屬性:

        destination,AudioDestinationNode對象,所有的音頻輸出聚集地,相當于音頻的硬件,所有的AudioNode都直接或間接連接到這里。

        currentTime,AudioContext從創建開始到當前的時間(秒)。

        方法:

        decodeAudioData(arrayBuffer,succ(buffer),err),異步解碼包含在arrayBuffer中音頻數據

        createBufferSource(),創建autioBufferSourceNode對象

        createAnalyser(),創建AnalyserNode對象

        createGain()/createGainNode(),創建GainNode對象

        AudioBufferSourceNode

        表示內存中的一段音頻資源,其音頻數據存儲在AudioBuffer中(其buffer屬性)
        創建:var buffersource = ac.createBufferSource();

        屬性:

        buffer,AudioBuffer對象,表示要播放的音頻資源數據
        ——子屬性:duration,該音頻資源的時長(秒)

        loop,是否循環播放,默認false

        onended,可綁定音頻播放完畢時調用的時間處理程序

        方法:

        start/noteOn(when=ac.currentTime,offset=0,buration=buffer.duration-offset),開始播放音頻。
        when:何時開始播放;
        offset:從音頻的第幾秒開始播放;
        duration:播放幾秒

        stop/noteOff(when=ac.currentTime),結束播放音頻

        添加音量控制

        GainNode

        改變音頻音量的對象,改變通過它的音頻數據所有的sampleframe的信號強度
        創建:var gainNode = ac.createGain()/ac.createGainNode();

        gain,AudioParam對象,通過改變其value值可以改變音頻信號的強弱,默認的value屬性值為1,通過最小值為0,最大值為1,其value值也可以大于1,小于0

        播放bug修復

        問題:播放第二首歌時,第一首歌依然在播放,主要原因是每次點擊音樂列表即調用load("/media/"+this.title),數據解碼并播放:

        xhr.onload = function(){
         ac.decodeAudioData(xhr.response, function(buffer){
         var bufferSource = ac.createBufferSource();
         bufferSource.buffer = buffer;
         bufferSource.connect(gainNode);
         bufferSource[bufferSource.start?"start":"noteOn"](0);
         }, function(err){
         console.log(err);
         });
        }

        解決方法:
        對音頻數據賦空值var source = null;,保存上一首歌的解碼數據source = bufferSource;,判斷執行停止播放source && source[source.stop ? "stop" : "noteoff"](0);

        音樂數據可視化

        AnalyserNode

        音頻分析對象,它能實時的分析音頻資源的頻域和時域信息,但不會對音頻流做任何處理
        創建:var analyser = ac.createAnalyser();

        fftSize,設置FFT(FFT是離散傅里葉變換的快速算法,用于將一個信號變換到頻域)值得大小,用于分析得到頻域,為32 - 2048之間2的整數倍,默認為2048。實時得到的音頻頻域的數據個數為FFTSize的一半

        frequencyBinCount,FFT值得一半,即實時得到的音頻頻域的數據個數

        getByteFrequencyData(Uint8Array),復制音頻當前的頻域數據(數量是FrequencyBinCount)到Uint8Array(8位無符號整型類型化數組)中

        創建Analyser對象:

        var analyser = ac.createAnalyser();
        analyser.fftSize = 512;
        analyser.connect(gainNode);

        連接到分

        析對象獲取數據:bufferSource.connect(analyser);

        實現可視化功能函數:

        function visualizer(){
         var arr = new Uint8Array(analyser.frequencyBinCount);
         analyser.getByteFrequencyData(arr);
         console.log(arr);
        }

        調用visualizer函數:

        利用canvas將音樂數據可視化(柱狀圖)

        在views下加入id<div class="right" id="box"></div>

        控制高度變化:

        var box = $("#box")[0];
        var height, width;
        var canvas = document.createElement("canvas");
        box.appendChild(canvas);
         
        function resize(){
         height = box.clientHeight;
         width = box.clientWidth;
         canvas.height = height;
         canvas.width = width;
        }
        resize(); #調用觸發函數
         
        window.onresize = resize;

        利用canvas將音樂數據可視化(圓點圖)

        應用優化

        webAudio API

        webAudio核心功能封裝為對象

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        HTML5音樂可視化視頻教程的資源推薦

        HTML5音樂可視化視頻教程的資源推薦:單純的音樂播放是否過于單調,在聽音樂的同時如果也能看見音樂是否更加帶感。本課程將帶領你使用webAudio和canvas將你的音樂以你喜歡的形式可視化出來,讓你的音樂動起來。課程播放地址:http://www.gxlcms.com/course/327.html該老師講課風格:教
        推薦度:
        標簽: 資源 音樂 音樂的
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲人成网男女大片在线播放| 亚洲天堂中文字幕在线| 黄网站免费在线观看| 中国黄色免费网站| 99精品国产成人a∨免费看| 全免费毛片在线播放| 天堂在线免费观看中文版| 亚洲AV无码乱码在线观看性色扶| 亚洲精品成a人在线观看| 亚洲福利视频一区二区三区| 亚洲av日韩aⅴ无码色老头| 国产乱妇高清无乱码免费| 国产成人yy免费视频| 亚洲国产精品第一区二区三区| 亚洲A∨精品一区二区三区下载| 国内精品免费视频自在线| 亚洲GV天堂GV无码男同| 日韩午夜理论免费TV影院| 亚洲视频免费在线观看| 老司机午夜在线视频免费观| **aaaaa毛片免费| 亚洲精品无码久久久| 久青草视频在线观看免费| 国产AV无码专区亚洲AV毛网站| 亚洲午夜理论片在线观看| 中文毛片无遮挡高清免费| 亚洲精品成人片在线播放 | 极品美女一级毛片免费| 99re这里有免费视频精品 | 国产精品免费看久久久无码| 国产精品久久久亚洲| 人人玩人人添人人澡免费| 国产精品亚洲精品日韩已方| 男女作爱在线播放免费网站| 亚洲中文字幕久在线| 香港a毛片免费观看| 亚洲精品无码不卡在线播放HE| 免费播放一区二区三区| 亚洲精华国产精华精华液网站| 久久99亚洲综合精品首页| 国产亚洲欧美在线观看|