# 基于howlerjs的音频播放器
**Repository Path**: gaoyuanwang/howlerjs-player
## Basic Information
- **Project Name**: 基于howlerjs的音频播放器
- **Description**: 支持连续播放的 MP3/Wav 音频播放器,基于 howler.js 实现
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://zhangxinxu.gitee.io/howlerjs-player/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 19
- **Created**: 2022-11-12
- **Last Updated**: 2022-11-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 基于howlerjs的简易音频播放器
### 介绍
支持连续播放的简易 MP3/Wav 音频播放器,基于 howler.js 实现
### 效果示意
见地址:https://zhangxinxu.gitee.io/howlerjs-player/
### 使用说明
引入 ui-audio.js
```html
```
此时就可以使用 <ui-audio>
元素进行音频播放处理了。
```html
```
### API文档
支持几乎所有 HTML <audio> 元素支持的 API。
#### HTML 属性
- loop
- 支持值 0, 1, 2,分别表示顺序播放,随机播放和循环播放。如果不设置,音频播放完毕即停止,也不会显示播放顺序设置按钮。
- muted
- 布尔属性值,表示是否静音。
- controls
- 是否显示音频控制器。
- src
- 当前播放的音频地址。
- prevsrc
- 上一个播放的音频地址。如果不设置,不显示上一个播放按钮,如果是空字符串或者是 'none',上一个播放按钮则禁用。
- nextvsrc
- 下一个播放的音频地址。如果不设置,不显示下一个播放按钮,如果是空字符串或者是 'none',下一个播放按钮则禁用。
- type
- 音频播放的类型。和原生的 type 属性不同,这里只需要后缀名称即可,无需指定mime type,一般用在 src 地址没有暴露音频文件后缀的场景下。
- label
- 标签提示信息,一般用来显示当前播放音频的名称或者描述。如果不设置,则不显示对应元素。
- mode
- 当前播放的音频模式,支持 'webapi' 和 'html5' 两种方式,默认是 webapi,如果希望使用 html5 播放,可以设置 mode="html5",一般音频文件比较大,或者希望音频边下载边播放的时候使用 html5 模式。
#### JS 属性
以上 HTML 属性均可以直接从 DOM 对象上设置或获取,例如:
```js
const audio = document.querySelector('ui-audio');
// 获取
console.log(audio.loop);
// 设置
audio.muted = false;
```
而下面这些属性只能通过 DOM 对象进行设置。
- currentTime
- 当前播放的时间。
- volume
- 当前的音量,范围0-1。
- playbackRate
- 用来设置或获取当前媒体文件的播放速率,值为数值。
- paused
- 当前音频是否暂停中。
#### 方法
- play()
- 音频播放。
- pause()
- 音频暂停。
- stop()
- 音频停止,播放点会回到 0。
- prev()
- 播放前一个音频。
- next()
- 播放下一个音频。
- state()
- 返回当前音频的状态,值包括:'unready', 'unloaded', 'loading', 'loaded'
- load()
- 触发音频文件的加载。
- unload()
- 音频文件的卸载,会停止播放音频,并释放内存。
#### 事件
- play
- 播放时触发。
- pause
- 暂停时触发。
- load
- 加载完毕触发。
- end
- 播放完毕触发,如果是单曲循环,则每次播放结束都会执行一次。
- stop
- 播放停止触发。
- seek
- 改变播放的位置时候触发,例如点击或拖动进度条。
- playing
- 当前正在播放的时候触发,每秒执行约 60 次。
- error
- 加载或播放错误的时候触发,错误类型通过 event.detail 获取。
```js
audio.addEventListener('pause', function () {
// 暂停啦...
});
```
更多信息参见:https://www.zhangxinxu.com/wordpress/?p=10349