使用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 相关文章推荐
jquery中对表单的基本操作代码
Jul 29 Javascript
javascript使用eval或者new Function进行语法检查
Oct 16 Javascript
Jquery实现Div上下移动示例
Apr 23 Javascript
JS实现随机乱撞彩色圆球特效的方法
May 05 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
JS实现仿新浪黄色经典滑动门效果代码
Sep 27 Javascript
RequireJs的使用详解
Feb 19 Javascript
JavaScript变量作用域_动力节点Java学院整理
Jun 27 Javascript
基于JS递归函数细化认识及实用实例(推荐)
Aug 07 Javascript
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
AngularJS创建一个上传照片的指令实例代码
Feb 24 Javascript
Javascript var变量删除原理及实现
Aug 26 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实现ODBC数据分页显示一例
2006/10/09 PHP
php smarty函数扩展
2010/03/15 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
yii的CURD操作实例详解
2014/12/04 PHP
PHP aes (ecb)解密后乱码问题
2015/06/22 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
详解Element-UI中上传的文件前端处理
2019/08/07 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
Python os.access()用法实例
2019/02/18 Python
关于Python作用域自学总结
2019/06/10 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
英语翻译系毕业生求职信
2013/09/29 职场文书
新郎新娘婚礼答谢词
2014/01/11 职场文书
还款承诺书范本
2015/01/20 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android