APlayer 主题色与通知系统 API
theme(color, index) 方法
运行时修改主题色。
ap.theme('#FF0000'); // 修改当前歌曲的主题色为红色
ap.theme('#FF0000', 0); // 修改第一首歌的主题色为红色(索引从 0 开始)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| color | string | 必填 | 颜色值,推荐 6 位十六进制 |
| index | number | 当前歌曲索引 | 修改哪首歌的主题色 |
效果
- 进度条、音量条、列表标记色会立即更新
- 同时会修改
ap.list.audios[index].theme字段,之后切到这首歌也保持这个颜色 - 不指定 index 时,修改的是当前播放歌曲
与全局 theme 参数的关系
初始化时的 theme 参数是全局默认值。ap.theme() 方法修改的是单曲的 audio.theme 字段,而不是全局默认。
如果你想修改全局默认(让所有没有单独设置 theme 的歌曲都跟着变),可以这样:
// 修改全局默认
ap.options.theme = '#333';
// 批量修改所有没有单独 theme 的歌曲
ap.list.audios.forEach((audio, i) => {
if (!audio.theme) {
ap.theme('#333', i);
}
});
notice(text, time, opacity) 方法
在播放器上方弹出一条临时通知消息。
ap.notice('切换成功', 2000, 0.8);
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| text | string | 必填 | 通知文字内容 |
| time | number | 2000 | 显示时长,毫秒。设为 0 则永不自动隐藏 |
| opacity | number | 0.8 | 透明度,0 ~ 1 |
示例
// 显示 3 秒的通知
ap.notice('正在播放:' + ap.list.audios[ap.list.index].name, 3000);
// 永不自动隐藏,需要手动调用
ap.notice('点击开始播放', 0, 1);
// 手动隐藏(没有独立 API,等时间到自动消失或覆盖)
// 注意:没有 notice.hide(),通过设置 time=0 后用新通知覆盖
ap.notice(''); // 空文字可以起到类似隐藏的效果
通知相关事件
ap.on('noticeshow', function() {
console.log('通知显示了');
});
ap.on('noticehide', function() {
console.log('通知隐藏了');
});
版本号
APlayer.version
静态属性,返回当前 APlayer 的版本号字符串。
console.log(APlayer.version); // '1.10.1' 或类似
这是一个 静态属性(属于 APlayer 类,不属于实例),不需要先实例化就能访问。
音量设置
虽然音量 API 在 播放控制 API 里已经讲过,这里再提醒一次:
ap.volume(0.5); // 50% 音量,写入 localStorage
ap.volume(0.5, true); // 50% 音量,不写入 localStorage
第二个参数 nostorage 默认为 false,意味着播放器会记住用户的音量设置。如果某个场景不想让用户设置被记住(比如临时演示页),传 true。