摘要:應(yīng)用核心結(jié)構(gòu)介紹應(yīng)用技術(shù)棧服務(wù)端前端界面音頻操作音頻數(shù)據(jù)可視化項目構(gòu)建全局安裝使用模板引擎,新建項目進入項目目錄安裝依賴安裝項目變動實時監(jiān)控工具啟動服務(wù)并檢查項目是否成功創(chuàng)建觀測默認(rèn)端口詳析重要對象可理解為上下文對象,包含對象以及
應(yīng)用核心結(jié)構(gòu)介紹 應(yīng)用技術(shù)棧
服務(wù)端:Node+Express+ejs
前端界面:HTML+CSS(CSS3)+JS
音頻操作:webAudio
音頻數(shù)據(jù)可視化:Canvas
項目構(gòu)建全局安裝express:npm install -g express-generator
使用ejs模板引擎,新建項目music:express --view=ejs music
進入項目目錄安裝依賴:cd music && npm install
安裝項目變動實時監(jiān)控工具:npm install -g supervisor
啟動服務(wù)并檢查項目是否成功創(chuàng)建:supervisor bin/www && 觀測默認(rèn)3000端口127.0.0.1:3000
詳析重要APIAudioContext對象:可理解為audio上下文對象,包含AudioNode對象以及它們的聯(lián)系的對象,一般情況下,一個document中只有一個AudioContext對象,主要用到其兩個屬性四個方法:
destination屬性:AudioDestinationNode對象,所有音頻輸出聚集地,相當(dāng)于音頻的硬件,所有AudioNode都直接或間接連接到這里
currentTime屬性:AudioContext從創(chuàng)建開始到當(dāng)前的時間(秒)
decodeAudioData(arrayBuffer,succ(buffer),err)方法:異步解碼包含在arrayBuffer中音頻數(shù)據(jù)
createBufferSource()方法:創(chuàng)建AudioBufferSourceNode對象
createAnalyser()方法:創(chuàng)建AnalyserNode對象
createGain()/createGainNode()方法:創(chuàng)建GainNode對象
AudioBufferSourceNode對象,表示內(nèi)存中的一段音頻資源,其音頻數(shù)據(jù)存儲在AudioBuffer的buffer屬性中,其有三個屬性:
buffer屬性,AudioBuffer對象,表示要播放的音頻資源數(shù)據(jù),子屬性:duration,表示該音頻資源的時長
loop屬性,是否循環(huán)播放,默認(rèn)為false
onenload屬性,綁定音頻播放完畢調(diào)用的事件處理程序
start/noteOn(when=ac.currentTime,offset=0;duration=buffer.duration-offset),開始播放音頻
stop/noteOff(when=ac.currentTime),結(jié)束播放音頻
GainNode改變音頻音量的對象,會改變通過它的音頻數(shù)據(jù)所有的sample frame的信號強度,其屬性:
gain,是AudioParam對象,通過改變其value值,可以改變音頻信號的信號強弱,最小值為0,最大值為1,默認(rèn)為1
AnalyserNode音頻分析對象,能實時的分析音頻資源的時域和頻域信息,但不對音頻流做任何處理,屬性:
fftSize:設(shè)置FFT值的大小,用于分析得到頻域,為32-2048之間2的整數(shù)次倍,默認(rèn)為2048,實時得到的音頻數(shù)據(jù)域的個數(shù)為fftSize的一半
frequencyBinCount:實時得到的音頻頻域域的數(shù)據(jù)個數(shù),為FFT值的一半
getByteFrequencyData(Uint8Array)復(fù)制音頻當(dāng)前的頻域數(shù)據(jù)到Uint8Array中
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/50987.html
摘要:應(yīng)用核心結(jié)構(gòu)介紹應(yīng)用技術(shù)棧服務(wù)端前端界面音頻操作音頻數(shù)據(jù)可視化項目構(gòu)建全局安裝使用模板引擎,新建項目進入項目目錄安裝依賴安裝項目變動實時監(jiān)控工具啟動服務(wù)并檢查項目是否成功創(chuàng)建觀測默認(rèn)端口詳析重要對象可理解為上下文對象,包含對象以及 應(yīng)用核心結(jié)構(gòu)介紹 showImg(https://segmentfault.com/img/bVQWJ4?w=350&h=369); 應(yīng)用技術(shù)棧 服務(wù)端:...
摘要:應(yīng)用核心結(jié)構(gòu)介紹應(yīng)用技術(shù)棧服務(wù)端前端界面音頻操作音頻數(shù)據(jù)可視化項目構(gòu)建全局安裝使用模板引擎,新建項目進入項目目錄安裝依賴安裝項目變動實時監(jiān)控工具啟動服務(wù)并檢查項目是否成功創(chuàng)建觀測默認(rèn)端口詳析重要對象可理解為上下文對象,包含對象以及 應(yīng)用核心結(jié)構(gòu)介紹 showImg(https://segmentfault.com/img/bVQWJ4?w=350&h=369); 應(yīng)用技術(shù)棧 服務(wù)端:...
摘要:在文末,我會附上一個可加載的模型方便學(xué)習(xí)中文藝術(shù)字渲染用原生可以很容易地繪制文字,但是原生提供的文字效果美化功能十分有限。 showImg(https://segmentfault.com/img/bVWYnb?w=900&h=385); WebGL 可以說是 HTML5 技術(shù)生態(tài)鏈中最為令人振奮的標(biāo)準(zhǔn)之一,它把 Web 帶入了 3D 的時代。 初識 WebGL 先通過幾個使用 Web...
閱讀 2601·2023-04-25 19:47
閱讀 3432·2019-08-29 17:18
閱讀 902·2019-08-29 15:26
閱讀 3398·2019-08-29 14:17
閱讀 1246·2019-08-26 13:49
閱讀 3388·2019-08-26 13:22
閱讀 3109·2019-08-26 10:44
閱讀 2736·2019-08-23 16:51