Fix: mpd quility and player restart

This commit is contained in:
zijiren233 2024-05-16 21:26:00 +08:00
parent eb57537cf7
commit 0a7a774354
3 changed files with 4 additions and 6 deletions

4
components.d.ts vendored
View File

@ -9,7 +9,6 @@ declare module 'vue' {
export interface GlobalComponents {
Alist: typeof import('./src/components/fileList/alist.vue')['default']
BilibiliParse: typeof import('./src/components/cinema/dialogs/bilibiliParse.vue')['default']
copy: typeof import('./src/components/icons/Play copy.vue')['default']
CopyButton: typeof import('./src/components/CopyButton.vue')['default']
CustomHeaders: typeof import('./src/components/cinema/dialogs/customHeaders.vue')['default']
CustomSubtitles: typeof import('./src/components/cinema/dialogs/customSubtitles.vue')['default']
@ -28,7 +27,6 @@ declare module 'vue' {
ElEmpty: typeof import('element-plus/es')['ElEmpty']
ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElIco: typeof import('element-plus/es')['ElIco']
ElIcon: typeof import('element-plus/es')['ElIcon']
ElImage: typeof import('element-plus/es')['ElImage']
ElInput: typeof import('element-plus/es')['ElInput']
@ -53,10 +51,8 @@ declare module 'vue' {
Header: typeof import('./src/components/Header.vue')['default']
Moon: typeof import('./src/components/icons/Moon.vue')['default']
MovieList: typeof import('./src/components/cinema/MovieList.vue')['default']
MovieListItem: typeof import('./src/components/cinema/movieListItem.vue')['default']
MoviePush: typeof import('./src/components/cinema/MoviePush.vue')['default']
NewUser: typeof import('./src/components/admin/dialogs/newUser.vue')['default']
Open: typeof import('./src/components/icons/Open.vue')['default']
Password: typeof import('./src/components/user/dialogs/password.vue')['default']
Person: typeof import('./src/components/icons/Person.vue')['default']
Play: typeof import('./src/components/icons/Play.vue')['default']

View File

@ -67,7 +67,7 @@ const Props = defineProps({
const Emits = defineEmits(["get-instance"]);
const playMpd = async (player: HTMLMediaElement, url: string, art: Artplayer) => {
const playMpd = async (player: HTMLMediaElement, url: string, art: any) => {
const dashjs = await import("dashjs");
if (!dashjs.supportsMediaSource()) {
@ -75,12 +75,13 @@ const playMpd = async (player: HTMLMediaElement, url: string, art: Artplayer) =>
return;
}
if (art.mpd) art.mpd.destroy();
if (art.dash) art.dash.destroy();
if (!art.plugins.artplayerPluginDashQuality) art.plugins.add(newDashQualityPlugin());
const d = dashjs.MediaPlayer().create();
d.initialize(player, url, false);
art.dash = d;
art.mpd = d;
art.on("destroy", d.destroy);
};

View File

@ -16,6 +16,7 @@ export function artplayPluginSource(option: artplayPluginSource[]) {
const status = art.plugins["syncPlugin"].currentStatus();
art.once("video:canplay", () => {
art.plugins["syncPlugin"].setAndNoPublishStatus(status);
art.emit("restart", item.url);
});
art.option.type = item.type;
art.url = item.url;