howler.js是一款兼容所有浏览器的音频库插件

howler.js是一款兼容所有浏览器的音频库插件

howler.js是一款兼容所有平台的音频库插件。它默认为Web Audio API,而后退为HTML5 Audio。这使得在所有平台上使用JavaScript进行音频操作变得轻松可靠。


特征
单个API满足所有音频需求
默认为Web Audio API,后退为HTML5 Audio
处理跨环境的极端情况和错误
支持所有编解码器,以全面支持跨浏览器
自动缓存以提高性能
单独,分组或全局控制声音
一次播放多种声音
简单的声音精灵定义和播放
完全控制衰落,速率,搜寻,音量等
轻松添加3D空间声音或立体声声像
模块化-使用您想要的内容并易于扩展
没有外部依赖,只有纯JavaScript
轻至7kb压缩

浏览器兼容性

在以下浏览器/版本中进行了测试:
Google Chrome 7.0以上
Internet Explorer 9.0+
Firefox 4.0+
Safari 5.1.4+
移动Safari 6.0+(在用户输入后)
Opera 12.0+
微软Edge

使用方式:

第一步引入bfwone 加载依赖项jquery

第二步use插件及css和主题css

第三步配置参数

属性
src Array/String [] required
要为声音加载的轨道的源(URL或base64数据URI)。这些应该按照优先顺序排列,howler.js将自动加载与当前浏览器兼容的第一个。如果文件没有扩展名,则需要使用format属性显式指定扩展名。

volume Number 1.0
特定曲目的音量,从0.0到1.0。

html5 Boolean false
设置为true强制HTML5音频。这应该用于较大的音频文件,这样您就不必在播放之前等待完整的文件被下载和解码。

loop Boolean false
设置为true自动永久循环播放声音。

pre loadBoolean true
Howl定义时自动开始下载音频文件。

autoplay Boolean false
设置true为加载声音时自动开始播放。

mute Boolean false
设置为true加载静音的音频。

spirit Object {}
定义声音的声音精灵。偏移量和持续时间以毫秒为单位定义。第三个(可选)参数可用于将子画面设置为循环。生成兼容的声音精灵的一种简单方法是使用audiosprite。


rate Number 1.0
播放速率。0.5至4.0,其中1.0为正常速度。

pool Number 5
非活动声音池的大小。一旦声音停止播放或结束播放,它们就会被标记为结束并准备进行清理。我们保留了这些资源以进行回收以提高性能。通常,不需要更改。重要的是要记住,当声音暂停时,它不会从池中删除,并且仍然会被认为是活动的,以便以后可以恢复。

formateArray []
howler.js会自动从扩展名中检测文件格式,但是您也可以在无法提取的情况下指定格式(例如,使用SoundCloud流)。

xhrWithCredentials Boolean false
withCredentials使用Web Audio API时是否在用于提取音频文件的XHR请求上启用标志(请参阅参考资料)。

xhrHeaders Object null
使用Web Audio时,howler.js使用XHR请求来加载音频文件。如果您需要通过此请求发送自定义标头,请将其包含在此参数中。例如:


onload Function
加载声音时触发。

onloaderror Function
无法加载声音时触发。第一个参数是声音的ID(如果存在),第二个参数是错误消息/代码。

onplayerror Function
无法播放声音时触发。第一个参数是声音的ID,第二个参数是错误消息/代码。

onplay  Function
声音开始播放时触发。第一个参数是声音的ID。

onend Function
声音播放完毕时触发(如果正在循环播放,则在每个循环结束时触发)。第一个参数是声音的ID。

onpause Function
声音暂停时触发。第一个参数是声音的ID。

stop Function

声音停止后触发。第一个参数是声音的ID。

onmute Function
当声音被静音/取消静音时触发。第一个参数是声音的ID。

onvolume  Function
声音的音量改变时触发。第一个参数是声音的ID。

onrate Function
声音的播放速度改变时触发。第一个参数是声音的ID。

onseek Function
寻找声音时触发。第一个参数是声音的ID。

onfade Function
当前声音结束淡入/淡出时触发。第一个参数是声音的ID。

onunlock Function
通过触摸/点击事件将音频自动解锁时触发。

方法
play([sprite / id])
开始播放声音。返回要与其他方法一起使用的声音ID。唯一无法链接的方法。

sprite / id:String/Number optional采用一个可以是sprite或声音ID的参数。如果通过了子画面,将根据子画面的定义播放新的声音。如果传递了声音ID,则将播放先前播放的声音(例如,在暂停之后)。但是,如果传递了从池中排出的声音的ID,则不会播放任何声音。


pause([id])
暂停声音或组seek的播放,保存播放。
 id:Number optional声音ID。如果没有通过,则组中的所有声音都将暂停。


stop([id])
停止播放声音,重seek设为0。
id:Number optional声音ID。如果没有通过,则组中的所有声音都将停止。


mute([静音],[id])
使声音静音,但不暂停播放。
mute:设置为Boolean optionaltrue表示静音,设置为false取消静音。
id:Number optional声音ID。如果没有通过,则组中的所有声音都将停止。


volume ([volume],[id])

获取/设置此声音或组的音量。该方法可以选择使用0、1或2个参数。

volume:Number optional从0.0到的音量1.0。
id:Number optional声音ID。如果没有通过,则组中的所有声音的音量都会相对于自己的音量发生变化。


fade(从,到,持续时间,[id])
在两个音量之间淡入当前播放的声音。fade完成时触发事件。
from:Number从(0.0到1.0)淡入的音量。
to:Number音量逐渐减弱至(0.0至1.0)。
duration:Number淡入的时间(以毫秒为单位)。
id:Number optional声音ID。如果没有通过,则组中的所有声音都会消失。


rate([rate],[id])
获取/设置声音的播放速率。该方法可以选择使用0、1或2个参数。
rate:Number optional播放速率。0.5至4.0,其中1.0为正常速度。
id:Number optional声音ID。如果没有通过,则组中所有声音的播放速率都会改变。


seek([seek],[id])
获取/设置声音播放的位置。该方法可以选择使用0、1或2个参数。
seek:Number optional将当前播放移动到的位置(以秒为单位)。
id:Number optional声音ID。如果没有通过,将发出第一个声音。

loop([循环],[id])
获取/设置是否循环播放声音或分组。此方法可以选择接受0、1或2个参数。

loop:Boolean optional循环还是不循环,这就是问题所在。
id:Number optional声音ID。如果没有通过,则组中的所有声音都将loop更新其属性。


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>BFW NEW PAGE</title>
    <script id="bfwone" data="err=0" type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/bfwone.js"></script>
    <script type="text/javascript">
        bready(function() {
            use(["howler.min"], function() {
                var sound = new Howl({
                    src: ['http://repo.bfw.wiki/bfwrepo/sound/5e148aa3821f2.mp3'],

                });

                sound.play();
            });
        });
    </script>
    <style>
    </style>
</head>
<body>

</body>
</html>

官网:https://github.com/goldfire/howler.js

立即下载howler.min.js查看所有js插件

网友评论0

程序员在线工具箱