bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

JS如使用音頻可視化插件Wavesurfer.js-創新互聯

這篇文章主要為大家展示了“JS如使用音頻可視化插件Wavesurfer.js”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JS如使用音頻可視化插件Wavesurfer.js”這篇文章吧。

創新互聯"三網合一"的企業建站思路。企業可建設擁有電腦版、微信版、手機版的企業網站。實現跨屏營銷,產品發布一步更新,電腦網絡+移動網絡一網打盡,滿足企業的營銷需求!創新互聯具備承接各種類型的網站制作、網站建設項目的能力。經過十載的努力的開拓,為不同行業的企事業單位提供了優質的服務,并獲得了客戶的一致好評。

Wavesurfer.js是一款基于HTML5 canvas和Web Audio的音頻播放器插件,本文主要記錄它及其視覺效果插件Regions插件的使用方法。

1、創建實例

引入插件

import WaveSurfer from "wavesurfer.js";

創建實例對象

this.wavesurfer = WaveSurfer.create(options);

options

參數默認值說明
audioRate1音頻的播放速度,數值越小越慢
barWidthnone如果設置,波紋的樣式將變成類似柱狀圖的形狀
barHeight1波紋柱狀圖的高度,當大于1的時候,將增加設置的高度
barGapnone波紋柱狀圖之間的間距
containernone必填參數,指定渲染的dom的id名、類名或者dom本身
cursorColornone鼠標點擊的顏色
cursorWidth1鼠標點擊顯示的寬度
height128音頻的顯示高度
hideScrollbarfalse當出現橫坐標的時候,設置是否顯示
mediaTypeaudio音頻的類型,支持video
plugins[]使用的插件
progressColor#555光標后面的波形部分的填充顏色
waveColor#555光標后面的波形的填充顏色
xhr{}額外的請求XHR參數

實例演示:

this.wavesurfer = WaveSurfer.create({
  container: "#wave",
  waveColor: "#368666",
  progressColor: "#6d9e8b",
  cursorColor: "#fff",
  height: 80,
  plugins: [RegionsPlugin.create()]
});

2、方法調用

方法說明
load(url)加載音頻
loadBlob(url)從Bolb或者file對象中調用音頻
play([start[, end]])從當前位置開始播放音頻文件。結合使用start和end可以指定一個音頻播放范圍
playPause()如果當前為狀態狀態開始播放,反之暫停播放
pause()停止播放
stop()停止播放并回到音頻文件的起始處
empty()清空waveform
destroy()銷毀waveform,移除事件,元素和關聯節點
getCurrentTime()獲取當前播放的進度,單位:秒
getDuration()獲取音頻的總時長,單位:秒
getVolume()獲取音量
setVolume(v)設置音量[0-1]
skip(offset)調到offset的位置
skipBackward()倒退skipLength秒
skipForward()前進skipLength秒
isPlaying()判斷音頻是否在播放
on(eventName, callback)綁定事件
un(eventName, callback)解綁事件
unAll綁定所有的事件

實例演示

// 音頻加載
this.wavesurfer.load(audioUrl);

// 獲取總時長
let duration = parseInt(this.wavesurfer.getDuration());

// 停止播放并回到起始點
this.wavesurfer.stop();

3、事件綁定

使用on()和un()對事件進行綁定和解綁操作。

事件說明
audioprocess音頻播放時觸發
destroy音頻銷毀時觸發
error音頻出錯時觸發
finish音頻播放結束時觸發
loading音頻加載時觸發
ready音頻加載成功時觸發
play音頻開始播放時觸發
pause音頻暫停時觸發
scroll當有滾動條滾動的時候觸發
volume聲音調整時觸發
seek鼠標點擊某個位置的時候觸發

實例演示:

// 加載時候
this.wavesurfer.on("loading", percents => {
  // 當前加載的進度
  this.percent = percents;
});

// 加載成功
this.wavesurfer.on("ready", () => {
  this.progress = false;
});

// 播放中
this.wavesurfer.on("audioprocess", () => {
  this.currentTime = this.getCurrentTime();
});

// 結束播放
this.wavesurfer.on("finish", () => {
  this.wavesurfer.pause();
});

4、Regions插件

Regions用于音頻播放器waveform視覺效果部分,可以用它來標注某個區域。Regions可以被拖拽和改變尺寸大小。

引入插件

import RegionsPlugin from "wavesurfer.js/dist/plugin/wavesurfer.regions.js";

插件定義

this.wavesurfer = WaveSurfer.create({     
  plugins: [RegionsPlugin.create()]
});

Regions方法

方法說明
addRegion(options)在waveform中創建一個Region。返回一個Region對象
clearRegions()移除所有的regions
enableDragSelection(options)可以通過選擇來創建支持拖拽和改變大小的Regin

實例演示:

參數默認值說明
id
region的id
start0region的開始位置,單位秒
end0region的開始位置,單位秒
loopfalse播放完畢后是否循環播放
dragtrue是否支持拖拽
resizetrue是否支持改變region的大小
color"rgba(0, 0, 0, 0.1)"region的顏色
this.currentRegion = this.wavesurfer.addRegion({
  id: id,
  start: startTime,
  end: endTime,
  loop: false,
  drag: false,
  resize: false,
  color: "rgba(254, 255, 255, 0.4)"
});

Regions的方法

方法說明
play()播放region
playLoop()循環播放region
remove()移除region

Regions事件

事件說明
remove在region被移除前觸發
update當region被更新時觸發
click當region點擊時觸發
dbclick當region被雙擊時觸發
over當region被鼠標滑入時觸發
leave當在region上的鼠標離開時觸發
// 更新起始時間
this.currentRegion.update({ start: newStartTime });

// 移除region
this.currentRegion.remove();

以上是“JS如使用音頻可視化插件Wavesurfer.js”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!

網站題目:JS如使用音頻可視化插件Wavesurfer.js-創新互聯
網頁地址:http://vcdvsql.cn/article14/djhide.html

成都網站建設公司_創新互聯,為您提供全網營銷推廣品牌網站設計服務器托管App開發網頁設計公司App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站建設