前端页面 h5使用vue搭建带播放列表切换的音频播放器 audio
一个h5的音频播放器,播放列表与播放器上下首切换 样式效果对应起来。
五秒后自动收缩形成挂件(不可移动)。点击播放器图片 即可展开、收起。
audio.js audio.css 资源下载
详细代码上篇
样式
部分代码:
html
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"/><meta name="format-detection" content="telephone=no"/><meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"/><title>详情页</title><script src="https***query_172.js" language="javascript"></script><script src="https://cdn.bootcss.com/vue/2.5.2/vue.min.js"></script><!--动画样式--><link href="http:***/animate.css" rel="stylesheet" type="text/css"><!--音频播放器--><link rel="stylesheet" type="text/css" href="./css/audio.css"><script type="text/javascript" src="./js/audio.js"></script>
</head><body>
****
****
****
<!-- 播放列表 --><ul :class="mp3_count >= 1?'music':'hid'" id="storyLin"><li v-for="(list,key) in data.mp3_list" @click="playSon(this,key)" :class="{'on':clicked==key}"><div :class="[{'hid':clicked ==key}, num]">{{key+1}}</div><div :class="[{'hid':clicked !=key}, laba]"></div><div class="name"><p>{{list.title}}</p><div class="dat"><span></span>{{list.num}}人<span style="margin-left: 20px;"></span>{{list.time}}</div></div></li></ul>
****
****
****<!-- <div :class="mp3_count >= 1 ? 'audio-box hid':'hid'">--><div :class="[{'hid':mp3_count < 1}, audio_box]"><div class="audio-container"><div class="audio-cover" @click="goRight()"></div><div class="audio-view"><h3 class="audio-title">未知歌曲</h3><div class="audio-body"><div class="audio-backs"><div class="audio-this-time">00:00</div><div class="audio-count-time">00:00</div><div class="audio-setbacks"><i class="audio-this-setbacks"><span class="audio-backs-btn"></span></i><span class="audio-cache-setbacks"></span></div></div></div><div class="audio-btn"><div class="audio-select"><div class="audio-prev"></div><div class="audio-play"></div><div class="audio-next"></div><!-- <div class="audio-menu"></div>--><!-- <div class="audio-volume"></div>--></div><div class="audio-set-volume"><div class="volume-box"><i><span></span></i></div></div><div class="audio-list"><div class="audio-list-head"><p>☺随心听</p><span class="menu-close">关闭</span></div><ul class="audio-inline"></ul></div></div></div></div></div><!--音频播放器-->
</div>
</body></html>
js方法
var api = "htt***p";var song = [];//定义播放列表(可后续添加)var audioFn = [];//播放器类var main = new Vue({el: '#main',data: {****audio_type: 2,//播放器是否展示隐藏,clicked: -1,num: 'num',laba: 'laba',audio_box:'audio-box audio-boxhid'},created() {var that = this;that.get_data();//内含实例化 播放器},methods: {//获取专辑信息get_data() {var that = this;$.get(api + '?meth***r_id=' + that.user_id + '&id=' + that.id,function (data) {if (data.ret) {that.data = data.data;//音频列表赋值,并实例化音频组件song = that.data.mp3_list;//播放列表that.mp3_count = song.lengthif (that.mp3_count >= 1) {that.new_audio(song);}} else {alert('数据获取失败!')}},'json')},//实例化音频播放new_audio(song) {var that = this;audioFn = audioPlay({song: song,autoPlay: false //是否立即播放第一首,autoPlay为true且song为空,会alert文本提示并退出});//获取音频播放keyif (!songEq) {songEq = -1}//监听当前播放曲目的key值,对应播放列表样式setInterval(function () {that.clicked = songEq;}, 300)},/*音频播放器相关操作*/playSon(th, key) {var that = this;clearTimeout(that.clock);//清除定时器$(".audio-box").removeClass("hid");$(".audio-box").removeClass("audio-boxhid");audioFn.selectMenu(key, true);that.clicked = key;that.clock = setTimeout(function () {$(".audio-box").addClass("audio-boxhid");that.audio_type = 2;}, 5000);},//控制播放器是否展开goRight() {var that = this;//清除定时器clearTimeout(that.clock);//播放器是否收起if (that.audio_type == 1) {$(".audio-box").addClass("audio-boxhid");that.audio_type = 2;} else {$(".audio-box").removeClass("audio-boxhid");that.audio_type = 1;}//5秒定时器 过后自动收起that.clock = setTimeout(function () {$(".audio-box").addClass("audio-boxhid");that.audio_type = 2;}, 5000);}}})/*$(function () {// 向歌单中添加新曲目,第二个参数true为新增后立即播放该曲目,false则不播放audioFn.newSong({'cover': 'images/audio/cover4.jpg','src': 'http://filebaby.qubaobei.com/story/low/105.mp3','title': '极乐净土 - GARNiDELiA'}, false);// 暂停播放audioFn.stopAudio();// 开启播放audioFn.playAudio();// 选择歌单中索引为3的曲目(索引是从0开始的),第二个参数true立即播放该曲目,false则不播放audioFn.selectMenu(3,true);// 查看歌单中的曲目console.log(audioFn.song);// 当前播放曲目的对象console.log(audioFn.audio);});*/
前端页面 h5使用vue搭建带播放列表切换的音频播放器 audio相关推荐
- 带倍速音频播放器_带有播放列表HTML5音频播放器
带倍速音频播放器 HTML5 Audio player with playlist HTML5 audio player. Many of you faced with the task of cre ...
- 登录页面html5 css3 js代码,H5+css3+js搭建带验证码的登录页面
本文实例为大家分享了H5+css3+js搭建带验证码的登录页面,供大家参考,具体内容如下 login.html EasyBuy后台管理系统 .main_bar{ width:1350px; heigh ...
- VUE实现音频播放器方案(播放列表)
在项目中,需要对某个景点多个介绍音频文件进行播放,建立这个音频播放器还是费了不少周折.前几天在做音频文件上传与管理时时一次是单个文件的上传.加载与播放还是比较简单,网上有很多案例,找来看看基本上就会, ...
- Vue - 音频播放器插件(vue-aplayer)
Vue使用音频播放器插件 vue-aplayer vue-aplayer中文文档:https://aplayer.netlify.app/docs/guide/ GitHub文档:https://gi ...
- vue自定义音频播放组件_易于创建Vue的自定义音频播放器组件
vue自定义音频播放组件 音频更好 (vue-audio-better) Easy to create custom audio player components for Vue.js. 易于为Vu ...
- vue音频播放器组件
因为原生audio 播放器太丑了 重新整理 百度综合完成了播放器, 基于element ui 组件书写的 需要的自取 <template><div class="audio ...
- iphone html5音乐播放器,HTML5音频播放器,播放列表
许多人创建过音频播放器.通常,您只需选择一个可用的素材,通常是flash player.然而,您可能已经注意到,这些移动设备上的flash播放器不能正常工作(iPhone和Android).今天我要告 ...
- Vue项目——手把手教你做出音乐播放器
进入VueMusic-安装所需的东西 cnpm install 之后 启动这个项目 npm start App.vue 设置默认样式 <template><div id=" ...
- 基于Vue和Axios的小型在线音乐播放器
目录 思路 一.音乐查询 二.音乐播放 三.歌曲封面 四.歌曲评论 五.播放动画 六.播放MV 总结 思路 一个音乐播放器的功能: - 歌曲信息:封面,歌名,专辑,作者 - 控制器:上一首,下一首,暂 ...
最新文章
- oracle plsql开启并行,Oracle开启并行的几种方法
- 饿了么四年、阿里两年:研发路上的一些总结与思考
- 前沪江高级架构师学习笔记分享:分布式框架设计与实现
- 如何自学java迅速成为java高手
- 43 SD配置-销售凭证设置-定义状态管理授权码
- C#网络连接 socket支持post,get之类http协议(chunked,gzip),同时支持webservice协议。...
- Linux 常用命令如何使用?
- 中国象棋程序的设计与实现(十)--棋盘的定义和绘制
- MATLAB基础数组操作及循环语句语法简介
- 学flash就丢人吗?
- hp服务器引导驱动器,windows-server-2008 – 在没有SmartStart的HP Proliant服务器上安装Windows...
- 深度学习斯坦福cs231n 课程笔记
- [裴礼文数学分析中的典型问题与方法习题参考解答]5.1.9
- 微信支付 “商家转账到零钱”
- python操作实例_python_文件操作代码实例
- Nexus war 下载
- x^n mod 1003(快速求解法)
- unity学习之路—飞机大战
- 【干货分享】微信与ERP支付互通 世界会怎样-解决方案推荐
- Unity 中实现截图画笔橡皮擦工具
热门文章
- 电商账户二清事态严重怎么办?钱方QFPay已有解决办法
- 2021年中国文化产业发展现状分析:营业收入达119064亿元,占GDP的10.41%[图]
- 「网络基础」TCP/IP协议4层模型,一分钟了解下
- springboot学生宿舍管理系统毕业设计源码211955
- 新一代产业变革席卷全球,深眸科技融合AI+机器视觉实现智造升级
- 笔记本安装Windows+Ubuntu双系统时花屏问题及解决方案
- [转载]Qualcomm Wlan Country Code
- camera country code, sale code
- thinkpadx1 carbon和yoga选哪个好
- python判断一个文件夹里面是否为空_Python碎片化学习教程 @8. 判断目标文件夹是否为空...