Bilibili-Evolved/registry/lib/plugins/video/download/mpv-output/index.ts
2022-10-12 23:27:58 +08:00

34 lines
1.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Toast } from '@/core/toast'
import { PluginMetadata } from '@/plugins/plugin'
import { DownloadVideoOutput } from '../../../../components/video/download/types'
export const plugin: PluginMetadata = {
name: 'downloadVideo.outputs.mpv',
displayName: '下载视频 - MPV 输出支持',
// FIXME: plugin 也需要 author 字段
author: {
name: 'diannaojiang',
link: 'https://github.com/diannaojiang',
},
description:
'为下载视频增加 MPV 输出支持, 配置方式请参考 [Bilibili-Playin-Mpv](https://github.com/diannaojiang/Bilibili-Playin-Mpv)',
setup: ({ addData }) => {
addData('downloadVideo.outputs', (outputs: DownloadVideoOutput[]) => {
outputs.push({
name: 'mpv',
displayName: 'MPV',
description: '弹一条消息显示出播放按钮点击即可使用MPV进行播放',
runAction: async action => {
const fragments = action.infos.flatMap(it => it.titledFragments)
const urls = fragments.map(f => f.url).join('\n')
const mpv = `mpv://--http-header-fields=\"referer:https://www.bilibili.com/\" \"${fragments[0].url}\" --audio-file=\"${fragments[1].url}\"`
console.log(mpv)
Toast.show(`<a class="link" href="${encodeURI(mpv)}" >播放</a>`, 'MPV播放')
console.log(urls)
console.log(action)
},
})
})
},
}