当前位置: 首页 > news >正文

APlayer - APlayer 初识(APlayer 初识案例、APlayer 常用事件)

一、APlayer

  • APlayer 是一款轻量级、功能丰富的 HTML5 音频播放器

二、APlayer 初识案例

1、案例演示
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>APlayer Test</title>
        <link rel="stylesheet" href="css/APlayer.min.css" />
        <style>
            #aplayer {
                width: 300px;
            }
        </style>    
    </head>

    <body>
        <div id="aplayer"></div>

        <script src="js/APlayer.min.js"></script>
        <script>
            const ap = new APlayer({
                container: document.getElementById("aplayer"),
                audio: [
                    {
                        name: "test music",
                        artist: "test music artist",
                        url: "audio/test.mp3",
                        cover: "img/test.jpg",
                    },
                ],
            });
        </script>
    </body>
</html>
2、案例解读
(1)资源引入
  • 引入 APlayer 的 CSS 与 JS 资源
<link rel="stylesheet" href="css/APlayer.min.css" />
<script src="js/APlayer.min.js"></script>
(2)播放器容器准备
<div id="aplayer"></div>
#aplayer {
    width: 300px;
}
(3)播放器挂载
参数说明
container指定播放器挂载的 DOM 元素
audio音频列表,每个对象需包含 url、name、artist 等参数
  • audio 列表对象参数如下
参数说明
name歌曲名称
artist艺术家
url音频文件路径
cover封面图片路径
const ap = new APlayer({
    container: document.getElementById("aplayer"),
    audio: [
        {
            name: "test music",
            artist: "test music artist",
            url: "audio/test.mp3",
            cover: "img/test.jpg",
        },
    ],
});

三、APlayer 常用事件

1、基本介绍
事件说明
play音频开始播放时触发
pause音频播放暂停时触发
volumechange音频音量改变时触发
ended音频播放结束时触发
timeupdate音频播放进度更新时触发(频繁触发)
2、演示
ap.on("play", () => {
    console.log("开始播放");
});

ap.on("pause", () => {
    console.log("播放暂停");
})

ap.on("volumechange", () => {
    console.log("音量改变");
})

ap.on("ended", () => {
    console.log("播放结束");
});

相关文章:

  • C++中常用的十大排序方法之4——希尔排序
  • 代码随想录算法训练营第三十九天| 动态规划03
  • 19.Python实战:实现对博客文章的点赞系统
  • 微信小程序中缓存数据全方位解惑
  • Unity 编辑器热更C# FastScriptReload
  • 安卓基础(Adapter)
  • JVM 底层探秘:对象创建的详细流程、内存分配机制解析以及线程安全保障策略
  • React生产环境下使用mock.js
  • VueRouter 实例
  • 单、双 链 表
  • MIMO信号检测ZF算法和MMSE算法
  • 深度求索—DeepSeek API的简单调用(Java)
  • 简单的异步图片上传
  • 游戏引擎学习第104天
  • ABB能源自动化选用宏集Cogent DataHub避免DCOM问题,实现高效、安全的数据传输
  • cuML机器学习GPU库
  • vue3的响应式的理解,与普通对象的区别
  • ROS基本功能
  • 【吾爱出品】视频素材资源搜索、解析、下载助手
  • 深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
  • 美众议院通过法案将“墨西哥湾”更名为“美国湾”
  • 人民日报整版聚焦:铭记二战历史,传承深厚友谊
  • 上海楼市“银四”兑现:新房市场高端改善领跑,二手房量价企稳回升
  • 第1现场 | 印巴冲突:印50多年来首次举行大规模民防演习
  • 抗战回望21︱《“良民”日记》:一个“良民”在沦陷区的见闻与感受
  • 波音公司计划于2027年交付新版“空军一号”飞机