详解Howler.js Web音频播放终极解决方案
前言
相信有很多人在写移动端音频播放的时候都踩过不少坑,特别是复杂音频项目在兼容多种设备的时候更是让你抓狂,比如ios端不能一开始就播放音频,必须要用户进行了操作。。。。
偶然间了解到了一个兼容所有设备和浏览器的音频引擎Howler.js使用了一下非常完美
Howler.js是一个新的JavaScript库用于处理Web中的音频,该库最初是为一个HTML5游戏引擎所开发,但也可用于其他的Web项目,Howler.js基于Google的WebAudioAPI,能够帮助你快速简单全面的控制音频。
特点及兼容性
- Howler.js默认使用WebAudio,但在IE上可以自动转为HTML5Audio。这点很是贴心。
- 移动端的Safari和Chrome都禁止网页自动播放声音,必须通过用户的操作,touch,click等触发。Howler.js可以设置成自动捕捉用户操作激活(解禁)声音播放。
- Howler.js支持很多声音格式以兼容各种浏览器。MP3,MPEG,OPUS,OGG,OGA,WAV,AAC,CAF,M4A,MP4,WEBA,WEBM,DOLBY,FLAC.几乎涵盖了所有格式
- 支持3D游戏
- 自动缓存
- 支持淡入淡出效果
- 轻量
- 纯JS
- 无第三方依赖
- 模块化
「更多特性可以去Github查看Howler.js」
使用方法
官网上都有介绍这里不过多讨论
import{Howl,Howler}from'howler';
//初始化一个音频类
constsound=newHowl({
src:['sound.webm','sound.mp3']
});
//播放音频
sound.play();
//改变全局音频声音大小
Howler.volume(0.5);
//只想改变某个音频的大小可以在初始化的时候修改
constsound=newHowl({
src:['sound.webm','sound.mp3'],
volume:0.5
});
使用Howler.js
最基本的,一个MP3播放:
varsound=newHowl({
urls:['sound.mp3']
}).play();
更多的播放选项:
varsound=newHowl({
urls:['sound.mp3','sound.ogg','sound.wav'],
autoplay:true,
loop:true,
volume:0.5,
onend:function(){
console.log('Finished!');
}
});
定义和播放某一部分的音频
varsound=newHowl({
urls:['sounds.mp3','sounds.ogg'],
sprite:{
blast:[0,1000],
laser:[2000,3000],
winner:[4000,7500]
}
});
//shootthelaser!
sound.play('laser');
总结
自己封装的音频库多多少少会有一些性能和兼容问题,比如音频循环播放的时候Howler就处理的非常好不会有切割的感觉
到此这篇关于详解Howler.jsWeb音频播放终极解决方案的文章就介绍到这了,更多相关Howler.jsWeb音频播放内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。