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

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

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

前言

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

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

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

特點及兼容性

  • Howler.js默認(rèn)使用Web Audio,但在IE上可以自動轉(zhuǎn)為HTML 5 Audio。這點很是貼心。
  • 移動端的Safari和Chrome都禁止網(wǎng)頁自動播放聲音,必須通過用戶的操作,touch, click等觸發(fā)。Howler.js可以設(shè)置成自動捕捉用戶操作激活(解禁)聲音播放。
  • 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');

總結(jié)

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    ES5 ES6中Array對象去除重復(fù)項的方法總結(jié)

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

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

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

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

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

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

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

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

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

最新評論

洞口县| 华容县| 新源县| 兴业县| 咸宁市| 普定县| 保德县| 浦江县| 台北市| 台东县| 墨竹工卡县| 盐亭县| 吉隆县| 延吉市| 阳谷县| 揭东县| 济源市| 同德县| 潮安县| 固始县| 建宁县| 洛阳市| 淮北市| 宣威市| 牙克石市| 景洪市| 紫金县| 江西省| 改则县| 贺州市| 抚州市| 灵璧县| 襄垣县| 红桥区| 宕昌县| 凌源市| 迭部县| 武冈市| 柘城县| 阿克苏市| 崇文区|