最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Howler.js Web音頻播放終極解決方案

 更新時間:2020年08月23日 17:08:23   作者:YiHe109674  
這篇文章主要介紹了詳解Howler.js Web音頻播放終極解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

相信有很多人在寫移動端音頻播放的時候都踩過不少坑,特別是復雜音頻項目在兼容多種設備的時候更是讓你抓狂,比如ios端不能一開始就播放音頻,必須要用戶進行了操作。。。。

偶然間了解到了一個兼容所有設備和瀏覽器的音頻引擎Howler.js 使用了一下非常完美

Howler.js 是一個新的 JavaScript 庫用于處理 Web 中的音頻,該庫最初是為一個 HTML5 游戲引擎所開發(fā),但也可用于其他的 Web 項目,Howler.js 基于 Google 的 Web Audio API,能夠幫助你快速簡單全面的控制音頻。

特點及兼容性

  • Howler.js默認使用Web Audio,但在IE上可以自動轉為HTML 5 Audio。這點很是貼心。
  • 移動端的Safari和Chrome都禁止網(wǎng)頁自動播放聲音,必須通過用戶的操作,touch, click等觸發(fā)。Howler.js可以設置成自動捕捉用戶操作激活(解禁)聲音播放。
  • Howler.js支持很多聲音格式以兼容各種瀏覽器。MP3, MPEG, OPUS, OGG, OGA, WAV, AAC, CAF, M4A, MP4, WEBA, WEBM, DOLBY, FLAC.幾乎涵蓋了所有格式
  • 支持3D游戲
  • 自動緩存
  • 支持淡入淡出效果
  • 輕量
  • 純JS
  • 無第三方依賴
  • 模塊化

「更多特性可以去Github查看 Howler.js

使用方法

官網(wǎng)上都有介紹 這里不過多討論

import {Howl, Howler} from 'howler';

// 初始化一個音頻類
const sound = new Howl({
 src: ['sound.webm', 'sound.mp3']
});

// 播放音頻
sound.play();

// 改變?nèi)忠纛l聲音大小
Howler.volume(0.5);

// 只想改變某個音頻的大小可以在初始化的時候修改
const sound = new Howl({
 src: ['sound.webm', 'sound.mp3'],
 volume:0.5
});

使用Howler.js

最基本的,一個MP3播放:

var sound = new Howl({
 urls: ['sound.mp3']
}).play();

更多的播放選項:

var sound = new Howl({
 urls: ['sound.mp3', 'sound.ogg', 'sound.wav'],
 autoplay: true,
 loop: true,
 volume: 0.5,
 onend: function() {
  console.log('Finished!');
 }
});

定義和播放某一部分的音頻

var sound = new Howl({
 urls: ['sounds.mp3', 'sounds.ogg'],
 sprite: {
  blast: [0, 1000],
  laser: [2000, 3000],
  winner: [4000, 7500]
 }
});

// shoot the laser!
sound.play('laser');

總結

自己封裝的音頻庫多多少少會有一些性能和兼容問題,比如音頻循環(huán)播放的時候Howler就處理的非常好不會有切割的感覺

 到此這篇關于詳解Howler.js Web音頻播放終極解決方案的文章就介紹到這了,更多相關Howler.js Web音頻播放內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • KnockoutJS 3.X API 第四章之事件event綁定

    KnockoutJS 3.X API 第四章之事件event綁定

    event綁定即為事件綁定,即當觸發(fā)相關DOM事件的時候回調(diào)函數(shù),這篇文章主要介紹了KnockoutJS 3.X API 第四章之事件event綁定的相關知識,感興趣的朋友一起看看吧
    2016-10-10
  • SublimeText自帶格式化代碼功能之reindent

    SublimeText自帶格式化代碼功能之reindent

    這篇文章主要介紹了SublimeText自帶格式化代碼功能之reindent的相關資料,需要的朋友可以參考下
    2015-12-12
  • JavaScript實現(xiàn)簡單的樹形菜單效果

    JavaScript實現(xiàn)簡單的樹形菜單效果

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)簡單的樹形菜單效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JS簡單獲得節(jié)點元素的方法示例

    JS簡單獲得節(jié)點元素的方法示例

    這篇文章主要介紹了JS簡單獲得節(jié)點元素的方法,結合實例形式分析了javascript獲取頁面節(jié)點元素及修改元素屬性相關操作技巧,需要的朋友可以參考下
    2018-02-02
  • JavaScript中for與forEach分別如何跳出循環(huán)

    JavaScript中for與forEach分別如何跳出循環(huán)

    forEach的優(yōu)勢一個是它的回調(diào)函數(shù)形成了一個作用域,它的curItem和i不會像for循環(huán)一樣污染全局變量,這篇文章主要給大家介紹了關于JavaScript中for與forEach分別如何跳出循環(huán)的相關資料,需要的朋友可以參考下
    2024-01-01
  • ES5 ES6中Array對象去除重復項的方法總結

    ES5 ES6中Array對象去除重復項的方法總結

    這篇文章主要給大家介紹了Array對象去除重復項的相關資料,文中通過示例代碼詳細介紹了在ES5和ES6中Array對象去除重復項的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • JS實現(xiàn)旋轉木馬輪播案例

    JS實現(xiàn)旋轉木馬輪播案例

    這篇文章主要為大家詳細介紹了JS實現(xiàn)旋轉木馬輪播案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • JavaScript+CSS控制打印格式示例介紹

    JavaScript+CSS控制打印格式示例介紹

    用media="print"的css來控制要打印的文件,media為print的樣式,表示打印時該樣式才起作用,下面為大家詳細介紹下,感興趣的朋友不要錯過
    2014-01-01
  • JS使用棧判斷給定字符串是否是回文算法示例

    JS使用棧判斷給定字符串是否是回文算法示例

    這篇文章主要介紹了JS使用棧判斷給定字符串是否是回文算法,涉及基于javascript棧的構造、遍歷、判斷等相關操作技巧,需要的朋友可以參考下
    2019-03-03
  • js實現(xiàn)簡單的倒計時

    js實現(xiàn)簡單的倒計時

    這篇文章主要為大家詳細介紹了js實現(xiàn)簡單的倒計時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01

最新評論

华蓥市| 霍邱县| 石门县| 乌拉特前旗| 昆明市| 金山区| 盈江县| 鄂伦春自治旗| 法库县| 祁阳县| 九龙城区| 睢宁县| 紫阳县| 石首市| 秦皇岛市| 张家口市| 应城市| 桦南县| 河南省| 曲松县| 关岭| 德令哈市| 平利县| 日土县| 库尔勒市| 通河县| 晋江市| 沙雅县| 自治县| 莱阳市| 陇西县| 灵武市| 梅河口市| 濮阳县| 阜阳市| 米林县| 三亚市| 五河县| 夹江县| 吉安市| 湘潭市|