0.1.0 • Published 4 years ago
vuetify-music-player v0.1.0
vuetify-music-player
一款带播放列表的底边栏现代化播放器,内嵌有插播
、最后播放
等功能,可自定义额外按钮。
界面
Demo&Docs
安装
npm -i vuetify-music-player
import VMusicPlayer from 'vuetify-music-player';
export default Vue.extend({
components: {
VMusicPlayer,
},
...
使用
安装
// in main.ts(main.js)
import VMusicPlayer from 'vuetify-music-player';
Vue.use(VMusicPlayer);
...
全局播放
// in your any *.vue file.
this.$player.play({
avatarSrc: ..., // string
title: ..., // string
authors: ..., // string[]
fileSrc: ..., // string
duration: ..., // string 可以不指定
})
插播
// in your any *.vue file.
this.$player.cutIn({
avatarSrc: ..., // string
title: ..., // string
authors: ..., // string[]
fileSrc: ..., // string
duration: ..., // string 可以不指定
})
最后播放
// in your any *.vue file.
this.$player.append({
avatarSrc: ..., // string
title: ..., // string
authors: ..., // string[]
fileSrc: ..., // string
duration: ..., // string 可以不指定
})
选项
dark
: 指定主题show
: 指定是否显示futurePlaylistItems
: 播放列表historyPlaylistItemsInit
: 初始历史记录fixed
abosulte
插槽
centerLeading
:播放栏左侧位置centerTrailing
: 播放栏右侧位置right
: 音量调节右侧位置
示例
<template>
<v-music-player v-model="player" bottom fixed :dark="dark">
<template #centerLeading v-if="centerLeading">
<v-btn icon class="my-auto"><v-icon>mdi-heart</v-icon></v-btn>
</template>
<template #centerTrailing v-if="centerTrailing">
<v-btn icon class="my-auto"><v-icon>mdi-share</v-icon></v-btn>
</template>
<template #right v-if="right">
<v-btn icon class="my-auto"><v-icon>mdi-shuffle-variant</v-icon></v-btn>
</template>
</v-music-player>
</template>
<script lang="ts">
...
import { Component, Vue } from 'vue-property-decorator';
@Component({
data: () => ({
player: false,
...
}),
methods: {
play(song: any) {
this.$player.play(song)
}
},
...
})
...
基本思路
graph LR;
外部文件改变--放入历史记录tag=true-->play((播放));
play-->loaded(loaded);
loaded--获得时长-->放入历史记录if_tag=true;
内部文件改变-->下一首;
下一首-->将播放列表第0个元素插到历史记录中;
内部文件改变-->上一首;
上一首-->将历史记录第0个元素插到播放列表中;
将播放列表第0个元素插到历史记录中--放入历史记录tag=false-->play;
将历史记录第0个元素插到播放列表中--放入历史记录tag=false-->play;
TODO
- 歌词
- UI优化
- 移动端UI优化