使用vue-aplayer插件时出现的问题的解决


Posted in Javascript onMarch 02, 2018

本文介绍了使用vue-aplayer插件时出现的问题的解决,分享给大家,具体如下:

安装

$ npm install vue-aplayer --save

使用

<aplayer autoplay :music="{
 title: 'Preparation',
 author: 'Hans Zimmer/Richard Harvey',
 url: 'http://devtest.qiniudn.com/Preparation.mp3',
 pic: 'http://devtest.qiniudn.com/Preparation.jpg',
 lrc: '[00:00.00]lrc here\n[00:01.00]aplayer'
}">
</aplayer>
// ES6
 import Aplayer from 'vue-aplayer'
  
 new Vue({
   components: {
     Aplayer
   }
 })

属性

这些属性大部分跟Aplayer的选项一样

属性名 类型 默认值 描述
narrow Boolean false 紧凑样式
autoplay String null 是否自动播放,为null表示不会自动播放
showlrc Boolean false 是否显示歌词
mutex Boolean false 当一首音乐正在播放时,暂停其他音乐
theme String '#b7daff'(浅蓝色) 主题颜色
mode String 'circulation' 播放模式,random:随机模式 sigle:单曲循环 circulation:列表循环 order:顺序播放(列表播放完即停止)
preload String 'auto' 音乐加载方式,none,metadata,auto
listmaxheight String none 播放列表的最大高度
music String Object or Array 歌曲信息,详情见下方“歌曲信息”

歌曲信息

属性music既可以是包含歌曲信息的对象类型,也可以是包含这些对象的数组类型

属性名 默认值 描述
title 'Untitled' 歌曲名
author 'Unknown' 歌手
url required 歌曲地址
pic none 歌曲海报
lrc none 歌词或者歌词文件的地址

事件

事件名 参数 描述
play none 开始播放时触发
pause none 暂停时触发
canplay none 当数据支持播放时触发
playing none 播放时会定时触发
ended none 停止播放时触发
error none 错误出现时触发
update:mode none 见上面的mode属性

刚刚接触vue-aplayer,从github上找到了用法,首先需要npm install vue-aplayer ?save ,之后在组件中引入import VueAplayer from ‘vue-aplayer',别忘了注册components: {
'a-player': VueAplayer
}
这里还有一个问题,用v-if,而不是v-show,因为是异步请求,所以一开始播放器中是没有歌曲的,所有给了个v-if不然会插件默认会先生成播放器,导致报错

?2017.12.2 ,现在的代码版本是这样的~

<template>
 <div class="music">
   <a-player v-if='isShow' :autoplay='true' :music="musicList"></a-player>
 </div>
</template>
<script>
import Axios from 'axios'
import VueAplayer from 'vue-aplayer'
export default{
  data(){
    return {
      musicList:[],
      isShow:false
    }
  },
  mounted(){
    Axios.get('../static/data/musicdata.json').then(res=>{
       let List = res.data.musicData;
      // console.log(res);
      List.forEach(element => {
        let obj = {
          title:element.title,
          pic:element.musicImgSrc,
          url:element.src,
          author:element.author,
          lrc:"../static/"+element.lrc
        }
        this.musicList.push(obj);
      });
        this.isShow=true; 
        console.log(this.musicList);
    }).catch(); 
  },
  components: {
    'a-player': VueAplayer
  }
}  
</script>
<style>
.music{
  margin:1rem 0;
}
</style>

还是有问题,网上查过之后,是因为在执行了play()方法以后立即执行pause()方法,至于解决方法……还在寻找中

使用vue-aplayer插件时出现的问题的解决

之前遇到的问题是

使用vue-aplayer插件时出现的问题的解决

~~~~想明白了一些

使用vue-aplayer插件时出现的问题的解决

酱紫,this.musicList是空的,obj就是空的喽。

使用vue-aplayer插件时出现的问题的解决

如果先给this.musicList赋值了,那么push之后就会酱紫,重复两遍

其实是很好想明白的哈。

补充的代码,看起来更直观

Axios.get('../static/data/musicdata.json').then(res=>{
       // let List = res.data.musicData;
      // console.log(res);
      this.musicList.forEach(element => {
        let obj = {
          title:element.title,
          pic:element.musicImgSrc,
          url:element.src,
          author:element.author,
          lrc:"../static/"+element.lrc
        }        
        this.musicList.push(obj);
        console.log(this.musicList);
      });
        this.isShow=true; 
        console.log(this.musicList);
    }).catch();

错误是这样的

使用vue-aplayer插件时出现的问题的解决

正确的是酱紫的

使用vue-aplayer插件时出现的问题的解决

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript编程起步(第三课)
Feb 27 Javascript
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
Jun 28 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
Dec 13 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
Mar 08 Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 Javascript
AngularJS入门教程之AngularJS 模板
Aug 18 Javascript
vue.js+boostrap项目实践(案例详解)
Sep 21 Javascript
面包屑导航详解
Dec 07 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 Javascript
element-ui 实现响应式导航栏的示例代码
May 08 Javascript
js cavans实现静态滚动弹幕
May 21 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
Mar 02 #Javascript
vue中添加mp3音频文件的方法
Mar 02 #Javascript
JS中利用FileReader实现上传图片前本地预览功能
Mar 02 #Javascript
select标签设置默认选中的选项方法
Mar 02 #Javascript
原生JavaScript实现todolist功能
Mar 02 #Javascript
js判断输入框不能为空格或null值的实现方法
Mar 02 #Javascript
vue判断input输入内容全是空格的方法
Mar 02 #Javascript
You might like
php设计模式 State (状态模式)
2011/06/26 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
PHP children()函数讲解
2019/02/03 PHP
js 页面输出值
2008/11/30 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
python for 循环获取index索引的方法
2019/02/01 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
keras和tensorflow使用fit_generator 批次训练操作
2020/07/03 Python
python搜索算法原理及实例讲解
2020/11/18 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
逻辑链路控制协议
2016/10/01 面试题
党员教师四风自我剖析材料
2014/09/30 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
社区低保工作总结2015
2015/07/23 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python
一文搞懂MySQL索引页结构
2022/02/28 MySQL
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis