使用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实现点击左右按钮图片横向滚动
Apr 11 Javascript
使用CSS3的scale实现网页整体缩放
Mar 18 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
May 14 Javascript
js处理表格对table进行修饰
May 26 Javascript
js星星评分效果
Jul 24 Javascript
js简单实现点击左右运动的方法
Apr 10 Javascript
JS查找字符串中出现次数最多的字符
Sep 05 Javascript
jQuery实现拖动效果的实例代码
Jun 25 jQuery
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
Sep 22 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
Sep 26 jQuery
js提取中文拼音首字母的封装工具类
Mar 12 Javascript
关于layui 弹出层一闪而过就消失的解决方法
Sep 09 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笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
windows7下php开发环境搭建图文教程
2015/01/06 PHP
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
QUnit jQuery的TDD框架
2010/11/04 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
jQuery使用方法
2017/02/04 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
Python中的迭代器漫谈
2015/02/03 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
Python GUI库Tkiner使用方法代码示例
2020/11/27 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
文言文形式的学生求职信
2013/12/03 职场文书
内业资料员岗位职责
2014/01/04 职场文书
财务会计自荐信范文
2014/02/21 职场文书
教育见习报告范文
2014/11/03 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis