Vue使用vue-apalyer实现音乐播放


效果图:
在这里插入图片描述

一、npm安装依赖

npm install vue-aplayer --save

二、引入插件

import aplayer from "vue-aplayer";
  components: {
    aplayer: aplayer
  },

三、组件使用

<template>
    <div id="aplayerDiv">
       <vue-scroll :ops="ops" class="vueScroll">
       <aplayer autoplay :music="{
          title: '剑心',
          artist: '张杰',
          src: 'https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E5%A4%A9%E7%A9%BA%E4%B9%8B%E5%9F%8E.m4a',
          pic: 'https://p2.music.126.net/ixIs5kkukgNYMmeDsc35_g==/29686813955450.jpg'
        }" :list="musicList">
        </aplayer>
    </vue-scroll>
    </div>
</template>

标签中使用的音频数据,用一下别人的,我没上传音乐到服务器,后面有空传两首

 musicList: [{
          title: '白羊',
          artist:'徐秉龙',
          src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
          pic: 'https://p1.music.126.net/tczb_7II9KzSuLQsVt89Gw==/109951163049336667.jpg',
          },
          {
            title: '说谎',
            artist: '林宥嘉',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p2.music.126.net/mMZNB-jhYsw29K61QtopJA==/109951163187404137.jpg',
          }
 		]

四、完整页面,我自己的,仅供参考

<!-- 可视化demo1 -->
<template>
  <div class="charts">
    <div id="demo1Chart1" :style="{width: '500px', height: '300px'}"></div>
    <div id="demo1Chart2" :style="{width: '500px', height: '300px'}"></div>
    <div id="demo1Chart3" :style="{width: '500px', height: '300px'}"></div>
    <div id="demo1Chart4" :style="{width: '500px', height: '300px'}"></div>
    <div id="aplayerDiv">
       <vue-scroll :ops="ops" class="vueScroll">
       <aplayer autoplay :music="{
          title: '剑心',
          artist: '张杰',
          src: 'https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E5%A4%A9%E7%A9%BA%E4%B9%8B%E5%9F%8E.m4a',
          pic: 'https://p2.music.126.net/ixIs5kkukgNYMmeDsc35_g==/29686813955450.jpg'
        }" :list="musicList">
        </aplayer>
    </vue-scroll>
    </div>
  </div>
</template>


<script>
require("echarts-wordcloud");
require("echarts-liquidfill");
require('../../assets/data/china')  //引入china.js地图文件
import echartMapData from "../../assets/data/EchartMapData"//引入map数据
import aplayer from "vue-aplayer";
export default {
  data () {
    return {
      ops: {
          vuescroll: {},
          scrollPanel: {},
          rail: {
            keepShow:true
          },
          bar: {
            hoverStyle: true,
            onlyShowBarOnScroll: false, //是否只有滚动的时候才显示滚动条
            background: 'green',
            //opacity: 0.5,//滚动条透明度
            "overflow-x": "hidden"
          }
        },
      musicList: [{
          title: '白羊',
          artist:'徐秉龙',
          src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
          pic: 'https://p1.music.126.net/tczb_7II9KzSuLQsVt89Gw==/109951163049336667.jpg',
          },
          {
            title: '说谎',
            artist: '林宥嘉',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p2.music.126.net/mMZNB-jhYsw29K61QtopJA==/109951163187404137.jpg',
          },
          {
            title: '成都',
            artist: '赵雷',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/34YW1QtKxJ_3YnX9ZzKhzw==/2946691234868155.jpg'
          },
          {
            title: '陪你到底',
            artist: '许华升',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/a7QkLGexMQGT2lF3mqcUdw==/109951163693319625.jpg',
          },
          {
            title: '广东爱情故事',
            artist: '雨神',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/gjvguk9I-QwuyWFjQHM9SA==/109951163189947600.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          },
          {
            title: '烟火里的尘埃',
            artist: '华晨宇',
            src: "https://edu-guil-1010.oss-cn-beijing.aliyuncs.com/%E8%92%B2%E5%85%AC%E8%8B%B1%E7%9A%84%E7%BA%A6%E5%AE%9A.m4a",
            pic: 'https://p1.music.126.net/_49Xz_x9kTTdEgmYYk6w2w==/6672936069046297.jpg',
          }]
    };
  },
  components: {
    aplayer: aplayer
  },
  computed: {},
  mounted() {
    this.drowWorldCloud()
    window.addEventListener('resize', () => {
      this.chart.resize();
    });
  },
  created() {},
  methods: {
    drowWorldCloud(){
      let myChart1 = this.$echarts.init(document.getElementById('demo1Chart1'))
      let myChart2 = this.$echarts.init(document.getElementById('demo1Chart2'))
      let myChart3 = this.$echarts.init(document.getElementById('demo1Chart3'))
      let myChart4 = this.$echarts.init(document.getElementById('demo1Chart4'))
      myChart1.setOption({
        backgroundColor:'#fff',
            tooltip: {
              pointFormat: "{series.name}: <b>{point.percentage:.1f}%</b>"
            },
            series: [
              {
                type: "wordCloud",
                gridSize: 2,
                shape: "circle",
                // shape: 'pentagon',
                sizeRange: [12, 50],
                // rotationRange: [-90, 90],
                // width: 600,
                // height: 300,
                left: "center",
                top: "center",
                width: "70%",
                height: "80%",
                right: null,
                bottom: null,
                drawOutOfBound: false,
                textStyle: {
                  normal: {
                    fontFamily: "sans-serif",
                    fontWeight: "bold",
                    color: function() {
                      return (
                        "rgb(" +
                        [
                          Math.round(Math.random() * 160),
                          Math.round(Math.random() * 160),
                          Math.round(Math.random() * 160)
                        ].join(",") +
                        ")"
                      );
                    }
                  },
                  emphasis: {
                    shadowBlur: 10,
                    shadowColor: "#333"
                  }
                },
                data: [{name:"活着", value:2352}, {name:"追风筝的人", value:123}]
              }
            ]
      });
      myChart2.setOption({
        series: [{
        type: 'liquidFill',
        data: [0.6]
       }]
      });

      myChart3.setOption(echartMapData),
        window.addEventListener('resize', () => {
          // 自动渲染echarts
          myChart3.resize();
        })
      myChart4.setOption({
        title: {
        text: '某站点用户访问来源',
        subtext: '纯属虚构',
        left: 'center'
      },
      tooltip: {
          trigger: 'item',
          formatter: '{a} <br/>{b} : {c} ({d}%)'
      },
      legend: {
          orient: 'vertical',
          left: 'left',
          data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
      },
      series: [
          {
              name: '访问来源',
              type: 'pie',
              radius: '55%',
              center: ['50%', '60%'],
              data: [
                  {value: 335, name: '直接访问'},
                  {value: 310, name: '邮件营销'},
                  {value: 234, name: '联盟广告'},
                  {value: 135, name: '视频广告'},
                  {value: 1548, name: '搜索引擎'}
              ],
              emphasis: {
                  itemStyle: {
                      shadowBlur: 10,
                      shadowOffsetX: 0,
                      shadowColor: 'rgba(0, 0, 0, 0.5)'
                  }
              }
          }
      ]
      });
    }
  }
}
</script>
<style scoped>
  .charts{
      width: 1010px;
      height: 650px;
      display: flex;
      flex: 1;
      flex-wrap: wrap;
    }
  #demo1Chart1{
    border: solid 1px #eea7ba;
  }
  #demo1Chart2{
    border: solid 1px #eea7ba;
  }
  #demo1Chart3{
    border: solid 1px #eea7ba;

  }
  #demo1Chart4{
    border: solid 1px #eea7ba;

  }
  #aplayerDiv{
    border: solid 1px #eea7ba;
    height: 600px;
    width: 330px;
    position: relative;
    left: 1005px;
    top: -605px;
  }
  #aplayerDiv .vueScroll{
    height: 600px !important;
  }
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值