valaxy-addon-meting

npm

English | 简体中文

基于 APlayerMetingJS 的 Valaxy 全局音乐播放器。

使用

ts
import { defineValaxyConfig } from 'valaxy'
import { addonMeting } from 'valaxy-addon-meting'

export default defineValaxyConfig({
  addons: [
    addonMeting({
      global: true,
      props: {
        id: '2049540645',
        server: 'netease',
        type: 'song',
      },
    }),
  ],
})

自定义 API

默认的 api.i-meto.com 已不可用,请配置自己的 Meting API 地址:

ts
addonMeting({
  global: true,
  props: {
    id: '2049540645',
    server: 'netease',
    type: 'song',
    api: 'https://your-meting-api.example.com/api?server=:server&type=:type&id=:id&r=:r',
  },
})

API 地址支持 :server:type:id:auth:r 占位符。

详情请参考 MetingJS 高级用法

配置

MetingOptions

配置项类型默认值说明
globalbooleanfalse在全部页面启用全局固定播放器
propsMetingProps<meting-js> 元素属性,参见 MetingJS 配置
optionsobject插件行为配置,见下文

props(MetingProps)

支持 MetingJS 配置中的全部属性:

属性类型默认值说明
idstring歌曲、歌单、专辑 ID 或搜索关键词
server'netease' | 'tencent' | 'kugou' | 'xiami' | 'baidu'音乐平台
type'song' | 'album' | 'artist' | 'playlist' | 'search'资源类型
autostring自动解析的音乐链接
apistring自定义 Meting API 地址
fixedbooleanfalse固定在页面底部
minibooleanfalse使用迷你模式
autoplaybooleanfalse自动播放
themestring'#2980b9'主题色
loop'all' | 'one' | 'none''all'循环模式
order'list' | 'random''list'播放顺序
preload'auto' | 'metadata' | 'none''auto'音频预加载策略
volumenumber0.7默认音量
mutexbooleantrue播放时暂停其他播放器
lrc-typenumber0歌词类型
list-foldedbooleanfalse默认折叠播放列表
list-max-heightstring'340px'播放列表最大高度
storage-namestring'metingjs'播放器设置的 localStorage 键名

自托管媒体还支持 nameartisturlcover 属性。

options

配置项类型默认值说明
animationInbooleanfalse加载时启用滑入动画
autoHiddenbooleanfalse折叠后自动隐藏播放器
lyricHiddenbooleanfalse隐藏歌词面板

优先级

属性按以下优先级解析(从高到低):

  1. 直接传给 <MetingJs> 的组件属性。
  2. addonMeting({ props: { ... } }) 中的插件属性。
  3. 内置默认值。

组件用法

除了全局播放器,还可以在任意页面直接使用 <MetingJs>

vue
<MetingJs id="28391863" server="netease" type="song" />

FAQ

  • import 'meting/dist/Meting.min.js' 无法工作,目前只能使用 CDN。

贡献者