@lazycatcloud/lzc-video-player 0.0.87 → 0.0.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +18 -5
  2. package/dist/{browser-ponyfill.77fe21a3.js → browser-ponyfill.4ec1d3bb.js} +1 -1
  3. package/dist/lzc-video-player.ae1d5d50.js +72045 -0
  4. package/dist/lzc-video-player.js +2 -2
  5. package/dist/src/components/PlayList/index.vue.d.ts +1 -1
  6. package/dist/src/components/Video/NativeVideoPlayer.vue.d.ts +78 -0
  7. package/dist/src/components/Video/components/LzcModal/list.vue.d.ts +1 -1
  8. package/dist/src/components/Video/components/LzcModal/playrate.vue.d.ts +1 -1
  9. package/dist/src/components/Video/components/LzcModal/resolution.vue.d.ts +1 -1
  10. package/dist/src/components/Video/components/LzcModal/subtitle.vue.d.ts +1 -1
  11. package/dist/src/components/Video/components/LzcOverlay/cast.vue.d.ts +9 -2
  12. package/dist/src/components/Video/components/LzcOverlay/casting.vue.d.ts +1 -1
  13. package/dist/src/components/Video/components/LzcOverlay/error.vue.d.ts +1 -1
  14. package/dist/src/components/Video/components/LzcOverlay/index.vue.d.ts +7 -3
  15. package/dist/src/components/Video/components/LzcOverlay/playing.vue.d.ts +7 -1
  16. package/dist/src/components/Video/components/LzcOverlay/playingButtons.vue.d.ts +1 -1
  17. package/dist/src/components/Video/components/LzcOverlay/playingLayout.vue.d.ts +7 -1
  18. package/dist/src/components/Video/components/LzcOverlay/useCast.d.ts +1 -1
  19. package/dist/src/components/Video/components/LzcOverlay/useCommon.d.ts +1 -1
  20. package/dist/src/components/Video/native/EventEmitter.d.ts +22 -0
  21. package/dist/src/components/Video/native/NativeControls.vue.d.ts +90 -0
  22. package/dist/src/components/Video/native/NativeModal.vue.d.ts +38 -0
  23. package/dist/src/components/Video/native/NativePlayer.d.ts +176 -0
  24. package/dist/src/components/Video/native/NativePlayer.vue.d.ts +27 -0
  25. package/dist/src/components/Video/native/index.d.ts +3 -0
  26. package/dist/src/components/Video/native/playerKey.d.ts +3 -0
  27. package/dist/src/components/Video/native/useNativeCastMiddleware.d.ts +2 -0
  28. package/dist/src/components/Video/native/useNativePlayer.d.ts +2 -0
  29. package/dist/src/components/Video/native/useNativePlayerFullscreen.d.ts +10 -0
  30. package/dist/src/components/Video/native/useNativePlayerHistory.d.ts +9 -0
  31. package/dist/src/components/Video/native/useNativePlayerModal.d.ts +17 -0
  32. package/dist/src/components/Video/native/useNativePlayerPlaylist.d.ts +9 -0
  33. package/dist/src/components/Video/native/useNativePlayerState.d.ts +15 -0
  34. package/dist/src/components/Video/player.d.ts +94 -0
  35. package/dist/src/components/Video/useSource.d.ts +1 -1
  36. package/dist/src/components/Video/useWebview.d.ts +2 -2
  37. package/dist/src/components/Video/videoFrame.d.ts +1 -1
  38. package/dist/src/lzc-video-player.d.ts +3 -2
  39. package/dist/src/model.d.ts +3 -0
  40. package/dist/src/stores/playlist.d.ts +75 -0
  41. package/package.json +1 -1
  42. package/dist/lzc-video-player.56b6c6f6.js +0 -92046
  43. package/dist/src/components/Video/components/LzcCurrentTimeDisplay.d.ts +0 -7
  44. package/dist/src/components/Video/components/LzcFullscreenToggle.d.ts +0 -10
  45. package/dist/src/components/Video/components/LzcLoadingSpinner.d.ts +0 -7
  46. package/dist/src/components/Video/components/LzcModal/index.vue.d.ts +0 -22
  47. package/dist/src/components/Video/components/LzcModal.d.ts +0 -9
  48. package/dist/src/components/Video/components/LzcOverlay/castMiddleware.d.ts +0 -1
  49. package/dist/src/components/Video/components/LzcOverlay/castPlugin.d.ts +0 -11
  50. package/dist/src/components/Video/components/LzcOverlay.d.ts +0 -7
  51. package/dist/src/components/Video/components/LzcPlayRate.d.ts +0 -8
  52. package/dist/src/components/Video/components/LzcPlayToggle.d.ts +0 -7
  53. package/dist/src/components/Video/components/LzcPlaylistButton.d.ts +0 -9
  54. package/dist/src/components/Video/components/LzcPlaylistNext.d.ts +0 -10
  55. package/dist/src/components/Video/components/LzcPlaylistPrev.d.ts +0 -10
  56. package/dist/src/components/Video/components/LzcProgress.d.ts +0 -11
  57. package/dist/src/components/Video/components/LzcRemainingTimeDisplay.d.ts +0 -9
  58. package/dist/src/components/Video/components/LzcResolutionButton.d.ts +0 -9
  59. package/dist/src/components/Video/components/LzcSeekBar.d.ts +0 -10
  60. package/dist/src/components/Video/components/LzcSubtitleButton.d.ts +0 -10
  61. package/dist/src/components/Video/hlsjs.d.ts +0 -1
  62. package/dist/src/components/Video/index.vue.d.ts +0 -61
  63. package/dist/src/components/Video/useWebviewMiddleware.d.ts +0 -1
@@ -1,5 +1,5 @@
1
1
  import type { VideoInfo } from '../../model';
2
- import type { LzcPlayer } from "video.js";
2
+ import type { LzcPlayer } from '../../components/Video/player';
3
3
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
4
  player: {
5
5
  type: import("vue").PropType<LzcPlayer>;
@@ -0,0 +1,78 @@
1
+ import type { NativePlayerAPI } from "./native/NativePlayer";
2
+
3
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ options: {
5
+ type: import("vue").PropType<{
6
+ [key: string]: unknown;
7
+ mediaPrefix?: string | undefined;
8
+ autoplay?: boolean | undefined;
9
+ preload?: string | undefined;
10
+ showTopBar?: boolean | undefined;
11
+ hidePrevButton?: boolean | undefined;
12
+ hideNextButton?: boolean | undefined;
13
+ hidePlayList?: boolean | undefined;
14
+ playPrev?: (() => void) | undefined;
15
+ playNext?: (() => void) | undefined;
16
+ }>;
17
+ };
18
+ poster: {
19
+ type: import("vue").PropType<string>;
20
+ default: string;
21
+ };
22
+ onInit: {
23
+ type: import("vue").PropType<(player: NativePlayerAPI) => void>;
24
+ };
25
+ shortcutToggle: {
26
+ type: import("vue").PropType<boolean>;
27
+ default: boolean;
28
+ };
29
+ containerId: {
30
+ type: import("vue").PropType<string>;
31
+ default: string;
32
+ };
33
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
34
+ back: () => void;
35
+ init: (player: NativePlayerAPI) => void;
36
+ fullscreenchange: (value: boolean, id: string) => void;
37
+ controlBarActive: (show: boolean) => void;
38
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
+ options: {
40
+ type: import("vue").PropType<{
41
+ [key: string]: unknown;
42
+ mediaPrefix?: string | undefined;
43
+ autoplay?: boolean | undefined;
44
+ preload?: string | undefined;
45
+ showTopBar?: boolean | undefined;
46
+ hidePrevButton?: boolean | undefined;
47
+ hideNextButton?: boolean | undefined;
48
+ hidePlayList?: boolean | undefined;
49
+ playPrev?: (() => void) | undefined;
50
+ playNext?: (() => void) | undefined;
51
+ }>;
52
+ };
53
+ poster: {
54
+ type: import("vue").PropType<string>;
55
+ default: string;
56
+ };
57
+ onInit: {
58
+ type: import("vue").PropType<(player: NativePlayerAPI) => void>;
59
+ };
60
+ shortcutToggle: {
61
+ type: import("vue").PropType<boolean>;
62
+ default: boolean;
63
+ };
64
+ containerId: {
65
+ type: import("vue").PropType<string>;
66
+ default: string;
67
+ };
68
+ }>> & Readonly<{
69
+ onFullscreenchange?: ((value: boolean, id: string) => any) | undefined;
70
+ onInit?: ((player: NativePlayerAPI) => any) | undefined;
71
+ onBack?: (() => any) | undefined;
72
+ onControlBarActive?: ((show: boolean) => any) | undefined;
73
+ }>, {
74
+ poster: string;
75
+ shortcutToggle: boolean;
76
+ containerId: string;
77
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
78
+ export default _default;
@@ -1,4 +1,4 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
@@ -1,4 +1,4 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
@@ -1,4 +1,4 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
@@ -1,4 +1,4 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
@@ -1,16 +1,23 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
5
5
  required: true;
6
6
  };
7
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("hide" | "ok")[], "hide" | "ok", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ inline: {
8
+ type: import("vue").PropType<boolean>;
9
+ };
10
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "hide" | "ok")[], "close" | "hide" | "ok", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
8
11
  player: {
9
12
  type: import("vue").PropType<LzcPlayer>;
10
13
  required: true;
11
14
  };
15
+ inline: {
16
+ type: import("vue").PropType<boolean>;
17
+ };
12
18
  }>> & Readonly<{
13
19
  onOk?: ((...args: any[]) => any) | undefined;
14
20
  onHide?: ((...args: any[]) => any) | undefined;
21
+ onClose?: ((...args: any[]) => any) | undefined;
15
22
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
23
  export default _default;
@@ -1,4 +1,4 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
@@ -1,4 +1,4 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
@@ -1,15 +1,19 @@
1
-
2
-
3
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
4
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
3
  player: {
6
4
  type: import("vue").PropType<LzcPlayer>;
7
5
  required: true;
8
6
  };
7
+ active: {
8
+ type: import("vue").PropType<boolean>;
9
+ };
9
10
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
11
  player: {
11
12
  type: import("vue").PropType<LzcPlayer>;
12
13
  required: true;
13
14
  };
15
+ active: {
16
+ type: import("vue").PropType<boolean>;
17
+ };
14
18
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
15
19
  export default _default;
@@ -1,13 +1,19 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
5
5
  required: true;
6
6
  };
7
+ active: {
8
+ type: import("vue").PropType<boolean>;
9
+ };
7
10
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
8
11
  player: {
9
12
  type: import("vue").PropType<LzcPlayer>;
10
13
  required: true;
11
14
  };
15
+ active: {
16
+ type: import("vue").PropType<boolean>;
17
+ };
12
18
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
13
19
  export default _default;
@@ -1,4 +1,4 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
@@ -1,14 +1,20 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  player: {
4
4
  type: import("vue").PropType<LzcPlayer>;
5
5
  required: true;
6
6
  };
7
+ active: {
8
+ type: import("vue").PropType<boolean>;
9
+ };
7
10
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
8
11
  player: {
9
12
  type: import("vue").PropType<LzcPlayer>;
10
13
  required: true;
11
14
  };
15
+ active: {
16
+ type: import("vue").PropType<boolean>;
17
+ };
12
18
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
13
19
  default?(_: {}): any;
14
20
  }>;
@@ -1,7 +1,7 @@
1
1
  import { type Ref } from "vue";
2
2
  import type { Subscription } from "rxjs";
3
3
  import { type RemoteMediaPlayer } from "@lazycatcloud/sdk/dist/dlna/dlna";
4
- import type { LzcPlayer } from "video.js";
4
+ import type { LzcPlayer } from '../../../../components/Video/player';
5
5
  export declare const devices: Ref<RemoteMediaPlayer[]>;
6
6
  export declare const castSubscribe: Ref<Subscription | null>;
7
7
  export declare const castDevice: Ref<RemoteMediaPlayer | null>;
@@ -1,4 +1,4 @@
1
- import type { LzcPlayer } from "video.js";
1
+ import type { LzcPlayer } from '../../../../components/Video/player';
2
2
  export declare const useVideoName: (player: LzcPlayer) => {
3
3
  videoName: import("vue").Ref<string, string>;
4
4
  };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 简单事件发射器,用于 NativePlayer 与 useSource 等对接
3
+ */
4
+ declare type Listener = (e?: any) => void;
5
+ export declare class EventEmitter {
6
+ private listeners;
7
+ private oneListeners;
8
+ on(event: string, fn: Listener): void;
9
+ one(event: string, fn: Listener): void;
10
+ off(event: string, fn?: Listener): void;
11
+ /**
12
+ * 支持两种用法:
13
+ * - trigger("eventName") 或 trigger("eventName", data)
14
+ * - trigger({ type: "eventName", ...data }) 与 video.js 兼容
15
+ */
16
+ trigger(eventOrName: string | {
17
+ type: string;
18
+ [key: string]: unknown;
19
+ }, data?: unknown): void;
20
+ dispose(): void;
21
+ }
22
+ export {};
@@ -0,0 +1,90 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ duration: {
3
+ type: import("vue").PropType<number>;
4
+ default: number;
5
+ };
6
+ currentTime: {
7
+ type: import("vue").PropType<number>;
8
+ default: number;
9
+ };
10
+ isPlaying: {
11
+ type: import("vue").PropType<boolean>;
12
+ default: boolean;
13
+ };
14
+ prevEnabled: {
15
+ type: import("vue").PropType<boolean>;
16
+ default: boolean;
17
+ };
18
+ nextEnabled: {
19
+ type: import("vue").PropType<boolean>;
20
+ default: boolean;
21
+ };
22
+ isFullscreen: {
23
+ type: import("vue").PropType<boolean>;
24
+ default: boolean;
25
+ };
26
+ hidePrevButton: {
27
+ type: import("vue").PropType<boolean>;
28
+ default: boolean;
29
+ };
30
+ hideNextButton: {
31
+ type: import("vue").PropType<boolean>;
32
+ default: boolean;
33
+ };
34
+ hidePlayList: {
35
+ type: import("vue").PropType<boolean>;
36
+ default: boolean;
37
+ };
38
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
39
+ "open-modal": (page: string, ev: Event) => void;
40
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
41
+ duration: {
42
+ type: import("vue").PropType<number>;
43
+ default: number;
44
+ };
45
+ currentTime: {
46
+ type: import("vue").PropType<number>;
47
+ default: number;
48
+ };
49
+ isPlaying: {
50
+ type: import("vue").PropType<boolean>;
51
+ default: boolean;
52
+ };
53
+ prevEnabled: {
54
+ type: import("vue").PropType<boolean>;
55
+ default: boolean;
56
+ };
57
+ nextEnabled: {
58
+ type: import("vue").PropType<boolean>;
59
+ default: boolean;
60
+ };
61
+ isFullscreen: {
62
+ type: import("vue").PropType<boolean>;
63
+ default: boolean;
64
+ };
65
+ hidePrevButton: {
66
+ type: import("vue").PropType<boolean>;
67
+ default: boolean;
68
+ };
69
+ hideNextButton: {
70
+ type: import("vue").PropType<boolean>;
71
+ default: boolean;
72
+ };
73
+ hidePlayList: {
74
+ type: import("vue").PropType<boolean>;
75
+ default: boolean;
76
+ };
77
+ }>> & Readonly<{
78
+ "onOpen-modal"?: ((page: string, ev: Event) => any) | undefined;
79
+ }>, {
80
+ duration: number;
81
+ currentTime: number;
82
+ isPlaying: boolean;
83
+ prevEnabled: boolean;
84
+ nextEnabled: boolean;
85
+ isFullscreen: boolean;
86
+ hidePrevButton: boolean;
87
+ hideNextButton: boolean;
88
+ hidePlayList: boolean;
89
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
90
+ export default _default;
@@ -0,0 +1,38 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ visible: {
3
+ type: import("vue").PropType<boolean>;
4
+ required: true;
5
+ };
6
+ activePage: {
7
+ type: import("vue").PropType<string>;
8
+ required: true;
9
+ };
10
+ position: {
11
+ type: import("vue").PropType<{
12
+ right: number;
13
+ bottom: number;
14
+ }>;
15
+ required: true;
16
+ };
17
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ close: () => void;
19
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
20
+ visible: {
21
+ type: import("vue").PropType<boolean>;
22
+ required: true;
23
+ };
24
+ activePage: {
25
+ type: import("vue").PropType<string>;
26
+ required: true;
27
+ };
28
+ position: {
29
+ type: import("vue").PropType<{
30
+ right: number;
31
+ bottom: number;
32
+ }>;
33
+ required: true;
34
+ };
35
+ }>> & Readonly<{
36
+ onClose?: (() => any) | undefined;
37
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
38
+ export default _default;
@@ -0,0 +1,176 @@
1
+ import type { VideoInfo, VideoQualityLevel, VideoResolution } from '../../../model';
2
+ import type { Subtitle } from '../../../model';
3
+ import type { LzcPlayer } from "../player";
4
+ /** 与 videojs-contrib-quality-levels 兼容的 stub */
5
+ export declare function createStubQualityLevels(): {
6
+ levels_: {
7
+ id: string;
8
+ label: string;
9
+ height: number;
10
+ width: number;
11
+ bitrate: number;
12
+ enabled: boolean;
13
+ }[];
14
+ selectedIndex_: number;
15
+ on(event: string, fn: (e: any) => void): void;
16
+ trigger(e: any): void;
17
+ };
18
+ export declare type StubQualityLevels = ReturnType<typeof createStubQualityLevels>;
19
+ export interface NativePlayerOptions {
20
+ mediaPrefix?: string;
21
+ showTopBar?: boolean;
22
+ }
23
+ /** 供 provide/inject 和 composables 使用的公开 API 类型 */
24
+ export interface NativePlayerAPI extends LzcPlayer {
25
+ options_: NativePlayerOptions & {
26
+ mediaPrefix: string;
27
+ };
28
+ setContainer(el: HTMLElement | null): void;
29
+ _src: (sources?: string | {
30
+ src: string;
31
+ type?: string;
32
+ } | Array<{
33
+ src: string;
34
+ type?: string;
35
+ }>) => string | void;
36
+ qualityLevels(): StubQualityLevels;
37
+ currentVideoName(): string;
38
+ }
39
+ export declare class NativePlayer implements NativePlayerAPI, LzcPlayer {
40
+ private video;
41
+ private events;
42
+ private hls;
43
+ private _disposed;
44
+ private _currentVideoInfo;
45
+ private _videoDisplayName;
46
+ private _fullscreenTarget;
47
+ private _container;
48
+ private _prevEnabled;
49
+ private _nextEnabled;
50
+ private _castMode;
51
+ private _castSrc;
52
+ private _castPaused;
53
+ private _scrubbing;
54
+ private _durationOverride;
55
+ private _currentTimeOverride;
56
+ readonly options_: NativePlayerOptions & {
57
+ mediaPrefix: string;
58
+ };
59
+ private _qualityLevels;
60
+ /** useSource 会替换为 src2,内部需要调用的原始 setSrc */
61
+ _src: (sources?: string | {
62
+ src: string;
63
+ type?: string;
64
+ } | Array<{
65
+ src: string;
66
+ type?: string;
67
+ }>) => string | void;
68
+ /** 可选,由播放器赋值,用于上一集/下一集 */
69
+ playPrev?: () => void;
70
+ playNext?: () => void;
71
+ /** 可选,由播放器赋值,用于打开/关闭弹窗 */
72
+ lzcModal?: () => {
73
+ openModal: (page: string) => void;
74
+ close: () => void;
75
+ };
76
+ /** useSource 以 player.qualityLevels() 调用,返回与 videojs-contrib-quality-levels 兼容的 stub */
77
+ qualityLevels(): StubQualityLevels;
78
+ /** 供控件读取上一集是否可用 */
79
+ get prevEnabled(): boolean;
80
+ /** 供控件读取下一集是否可用 */
81
+ get nextEnabled(): boolean;
82
+ private _onDocumentFullscreenChange;
83
+ constructor(videoEl: HTMLVideoElement, options?: NativePlayerOptions);
84
+ private _bindVideoEvents;
85
+ private _isHlsUrl;
86
+ private setSrc;
87
+ private _loadSource;
88
+ private _destroyHls;
89
+ play(): Promise<void>;
90
+ pause(): void;
91
+ paused(): boolean;
92
+ currentTime(): number;
93
+ currentTime(seconds: number): void;
94
+ duration(): number;
95
+ duration(seconds: number): void;
96
+ volume(): number;
97
+ volume(percent: number): void;
98
+ muted(): boolean;
99
+ muted(muted: boolean): void;
100
+ currentSrc(): string;
101
+ src(sources?: string | {
102
+ src: string;
103
+ type?: string;
104
+ } | Array<{
105
+ src: string;
106
+ type?: string;
107
+ }>): string | void;
108
+ poster(url?: string): string | void;
109
+ on(event: string, fn: (e?: any) => void): void;
110
+ one(event: string, fn: (e?: any) => void): void;
111
+ off(event: string, fn?: (e?: any) => void): void;
112
+ ready(fn?: () => void): void;
113
+ trigger(eventOrName: string | {
114
+ type: string;
115
+ [key: string]: unknown;
116
+ }, data?: unknown): void;
117
+ dimensions(_w: number, _h: number): void;
118
+ id(): string;
119
+ isDisposed(): boolean;
120
+ dispose(): void;
121
+ /** 供 useSource 挂载 */
122
+ currentVideoInfo(): VideoInfo | null;
123
+ currentVideoName(): string;
124
+ currentPreview(): undefined;
125
+ getAvaliableSubtitles(): Subtitle[] | undefined;
126
+ currentSubtitle(): Subtitle | undefined;
127
+ changeSubtitle(_sub: Subtitle | number): void;
128
+ clearSubtitle(): void;
129
+ toggleSubtitleVisibility(): void;
130
+ isSubtitleHidden(): boolean;
131
+ setSubtitleHidden(_v: boolean): void;
132
+ isCastMode(): boolean;
133
+ currentType(): string;
134
+ isNetdiskSource(): boolean;
135
+ reloadSource(_index?: number): void;
136
+ supportResolution(): VideoQualityLevel[];
137
+ currentResolution(): VideoResolution | undefined;
138
+ changeResolution(level: VideoQualityLevel): void;
139
+ enablePrev(v: boolean): void;
140
+ enableNext(v: boolean): void;
141
+ playbackRate(): number;
142
+ playbackRate(rate: number): void;
143
+ private _playbackRates;
144
+ playbackRates(rates?: number[]): number[];
145
+ setFullscreenTarget(el: HTMLElement | null): void;
146
+ setContainer(el: HTMLElement | null): void;
147
+ private _isIosSafari;
148
+ requestFullscreen(): void;
149
+ exitFullscreen(): void;
150
+ isFullscreen(): boolean;
151
+ /** useSource 会设置这些 */
152
+ setCurrentVideoInfo(info: VideoInfo | null): void;
153
+ setVideoDisplayName(name: string): void;
154
+ /** 供 useSource 绑定 changeSubtitle / clearSubtitle / currentVideoName 等 */
155
+ $video(): HTMLVideoElement;
156
+ networkState(): number;
157
+ currentSource(): {
158
+ src: string;
159
+ type?: string;
160
+ };
161
+ currentWidth(): number;
162
+ currentDimensions(): {
163
+ width: number;
164
+ height: number;
165
+ };
166
+ addClass(name: string): void;
167
+ removeClass(name: string): void;
168
+ hasClass(name: string): boolean;
169
+ ended(): boolean;
170
+ seeking(): boolean;
171
+ scrubbing(): boolean;
172
+ setScrubbing(value: boolean): void;
173
+ bufferedEnd(): number;
174
+ error(): MediaError | null;
175
+ currentBrightness(): Promise<number>;
176
+ }
@@ -0,0 +1,27 @@
1
+ import { NativePlayer } from "./NativePlayer";
2
+ import type { NativePlayerOptions } from "./NativePlayer";
3
+ declare function getPlayer(): NativePlayer | null;
4
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ options: {
6
+ type: import("vue").PropType<NativePlayerOptions>;
7
+ };
8
+ poster: {
9
+ type: import("vue").PropType<string>;
10
+ };
11
+ }>, {
12
+ getPlayer: typeof getPlayer;
13
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ ready: (player: NativePlayer) => void;
15
+ destroy: () => void;
16
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
17
+ options: {
18
+ type: import("vue").PropType<NativePlayerOptions>;
19
+ };
20
+ poster: {
21
+ type: import("vue").PropType<string>;
22
+ };
23
+ }>> & Readonly<{
24
+ onReady?: ((player: NativePlayer) => any) | undefined;
25
+ onDestroy?: (() => any) | undefined;
26
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
27
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export { EventEmitter } from "./EventEmitter";
2
+ export { NativePlayer, createStubQualityLevels, type NativePlayerAPI, type NativePlayerOptions, type StubQualityLevels, } from "./NativePlayer";
3
+ export { default as NativePlayerComponent } from "./NativePlayer.vue";
@@ -0,0 +1,3 @@
1
+ import type { InjectionKey, Ref } from "vue";
2
+ import type { NativePlayerAPI } from "./NativePlayer";
3
+ export declare const nativePlayerKey: InjectionKey<Ref<NativePlayerAPI | null>>;
@@ -0,0 +1,2 @@
1
+ import type { LzcPlayer } from "../player";
2
+ export declare function useNativeCastMiddleware(player: LzcPlayer): void;
@@ -0,0 +1,2 @@
1
+ export type { NativePlayerOptions, StubQualityLevels, NativePlayer } from "./NativePlayer";
2
+ export { createStubQualityLevels } from "./NativePlayer";
@@ -0,0 +1,10 @@
1
+ import { type Ref } from "vue";
2
+ import type { NativePlayerAPI } from "./NativePlayer";
3
+ export declare function useNativePlayerFullscreen(player: Ref<NativePlayerAPI | null>, options: {
4
+ showTopBar?: boolean;
5
+ }): {
6
+ showTopBar: Ref<boolean, boolean>;
7
+ onFullscreenChange: () => void;
8
+ bind: (_p: NativePlayerAPI) => void;
9
+ unbindIfNeeded: () => void;
10
+ };
@@ -0,0 +1,9 @@
1
+ import type { Ref } from "vue";
2
+ import type { NativePlayerAPI } from "./NativePlayer";
3
+ import type { useHistoryInfo } from '../../../stores/playlist';
4
+ export declare function useNativePlayerHistory(player: Ref<NativePlayerAPI | null>, store: ReturnType<typeof useHistoryInfo>): {
5
+ updateHistory: (updateCover: boolean) => void;
6
+ debouncedUpdateHistory: import("lodash").DebouncedFunc<() => void>;
7
+ bind: (p: NativePlayerAPI) => void;
8
+ unbindIfNeeded: () => void;
9
+ };
@@ -0,0 +1,17 @@
1
+ export declare function useNativePlayerModal(): {
2
+ modalVisible: import("vue").Ref<boolean, boolean>;
3
+ modalPage: import("vue").Ref<string, string>;
4
+ modalPosition: import("vue").Ref<{
5
+ right: number;
6
+ bottom: number;
7
+ }, {
8
+ right: number;
9
+ bottom: number;
10
+ } | {
11
+ right: number;
12
+ bottom: number;
13
+ }>;
14
+ openModal: (page: string, ev: Event, containerEl: HTMLElement | null) => void;
15
+ closeModal: () => void;
16
+ setMenuPosition: (ev: Event, containerEl: HTMLElement | null) => void;
17
+ };