@codercms/web-player 0.0.37 → 0.0.40
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.
- package/dist/HybridDoublyLinkedList.js.map +1 -1
- package/dist/HybridLinkedList.js.map +1 -1
- package/dist/core/AudioCtx/AudioContext.d.ts +2 -0
- package/dist/core/AudioCtx/AudioContext.js +92 -0
- package/dist/core/AudioCtx/AudioContext.js.map +1 -0
- package/dist/core/Loaders/BaseLoader.d.ts +17 -0
- package/dist/core/Loaders/BaseLoader.js +50 -0
- package/dist/core/Loaders/BaseLoader.js.map +1 -0
- package/dist/core/Loaders/HLSLoader.d.ts +17 -0
- package/dist/core/Loaders/HLSLoader.js +313 -0
- package/dist/core/Loaders/HLSLoader.js.map +1 -0
- package/dist/core/{LoaderInterface.d.ts → Loaders/LoaderInterface.d.ts} +11 -3
- package/dist/core/{LoaderInterface.js → Loaders/LoaderInterface.js} +6 -0
- package/dist/core/{LoaderInterface.js.map → Loaders/LoaderInterface.js.map} +1 -1
- package/dist/core/Loaders/NativeAudioTrackList.d.ts +39 -0
- package/dist/core/Loaders/NativeAudioTrackList.js.map +1 -0
- package/dist/core/Loaders/NativeLoader.d.ts +16 -0
- package/dist/core/Loaders/NativeLoader.js +114 -0
- package/dist/core/Loaders/NativeLoader.js.map +1 -0
- package/dist/core/Playlist.d.ts +4 -3
- package/dist/core/Playlist.js.map +1 -1
- package/dist/core/PlaylistPlayer.d.ts +3 -2
- package/dist/core/PlaylistPlayer.js +5 -3
- package/dist/core/PlaylistPlayer.js.map +1 -1
- package/dist/core/VideoPlayer.d.ts +22 -184
- package/dist/core/VideoPlayer.js +102 -577
- package/dist/core/VideoPlayer.js.map +1 -1
- package/dist/core/VideoPlayerEvents.d.ts +74 -0
- package/dist/core/VideoPlayerEvents.js +40 -0
- package/dist/core/VideoPlayerEvents.js.map +1 -0
- package/dist/core/VideoPlayerMediaLoadManager.d.ts +50 -0
- package/dist/core/VideoPlayerMediaLoadManager.js +269 -0
- package/dist/core/VideoPlayerMediaLoadManager.js.map +1 -0
- package/dist/core/VideoPlayerMediaState.d.ts +39 -0
- package/dist/core/VideoPlayerMediaState.js +161 -0
- package/dist/core/VideoPlayerMediaState.js.map +1 -0
- package/dist/core/types/BufferedPart.d.ts +4 -0
- package/dist/core/types/BufferedPart.js +1 -0
- package/dist/core/types/BufferedPart.js.map +1 -0
- package/dist/core/types/PlayerLoadParams.d.ts +11 -0
- package/dist/core/types/PlayerLoadParams.js +1 -0
- package/dist/core/types/PlayerLoadParams.js.map +1 -0
- package/dist/core/types/QualityLevel.js +1 -0
- package/dist/index.d.ts +9 -4
- package/dist/index.js +9 -4
- package/dist/ui/LoadingIndicator.svelte +35 -16
- package/dist/ui/LoadingIndicator.svelte.d.ts +1 -1
- package/dist/ui/ProgressBar.svelte +6 -6
- package/dist/ui/ProgressBar.svelte.d.ts +1 -1
- package/package.json +1 -1
- package/dist/core/HLSLoader.d.ts +0 -19
- package/dist/core/HLSLoader.js +0 -196
- package/dist/core/HLSLoader.js.map +0 -1
- package/dist/core/NativeLoader.d.ts +0 -14
- package/dist/core/NativeLoader.js +0 -66
- package/dist/core/NativeLoader.js.map +0 -1
- /package/dist/core/{AudioTrack.js → Loaders/NativeAudioTrackList.js} +0 -0
- /package/dist/core/{AudioTrack.d.ts → types/AudioTrack.d.ts} +0 -0
- /package/dist/core/{QualityLevel.js → types/AudioTrack.js} +0 -0
- /package/dist/core/{AudioTrack.js.map → types/AudioTrack.js.map} +0 -0
- /package/dist/core/{QualityLevel.d.ts → types/QualityLevel.d.ts} +0 -0
- /package/dist/core/{QualityLevel.js.map → types/QualityLevel.js.map} +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LoaderType, type LoadParams } from './LoaderInterface.js';
|
|
2
|
+
import { BaseLoader } from './BaseLoader.js';
|
|
3
|
+
export declare class NativeLoader extends BaseLoader {
|
|
4
|
+
readonly type = LoaderType.Native;
|
|
5
|
+
private readonly _onAudioTrackChangeCb;
|
|
6
|
+
private readonly _onAudioTrackAddedOrRemovedCb;
|
|
7
|
+
constructor(el: HTMLMediaElement);
|
|
8
|
+
getAutoQualityLevelId(): number;
|
|
9
|
+
load(params: LoadParams): Promise<void>;
|
|
10
|
+
private _onAudioTrackAddedOrRemoved;
|
|
11
|
+
private _onAudioTrackChange;
|
|
12
|
+
stop(): void;
|
|
13
|
+
switchAudioTrack(id: number): void;
|
|
14
|
+
switchQualityLevel(): void;
|
|
15
|
+
canPlayType(mimeType: string): boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { LoaderEvents, LoaderType } from './LoaderInterface.js';
|
|
2
|
+
import { BaseLoader } from './BaseLoader.js';
|
|
3
|
+
export class NativeLoader extends BaseLoader {
|
|
4
|
+
type = LoaderType.Native;
|
|
5
|
+
_onAudioTrackChangeCb;
|
|
6
|
+
_onAudioTrackAddedOrRemovedCb;
|
|
7
|
+
constructor(el) {
|
|
8
|
+
super(el);
|
|
9
|
+
this._onAudioTrackChangeCb = this._onAudioTrackChange.bind(this);
|
|
10
|
+
this._onAudioTrackAddedOrRemovedCb = this._onAudioTrackAddedOrRemoved.bind(this);
|
|
11
|
+
}
|
|
12
|
+
getAutoQualityLevelId() {
|
|
13
|
+
return 0;
|
|
14
|
+
}
|
|
15
|
+
async load(params) {
|
|
16
|
+
// Check if the abort signal is already aborted
|
|
17
|
+
if (params.abortSignal.aborted) {
|
|
18
|
+
const err = new DOMException('Loading aborted', 'AbortError');
|
|
19
|
+
this.emitter.emit(LoaderEvents.Error, { message: 'Loading aborted', data: err });
|
|
20
|
+
// If it is, reject with an AbortError
|
|
21
|
+
return Promise.reject(err);
|
|
22
|
+
}
|
|
23
|
+
// Emit a loading event
|
|
24
|
+
this.emitter.emit(LoaderEvents.Loading, params);
|
|
25
|
+
const trackList = this.el.audioTracks;
|
|
26
|
+
if (trackList) {
|
|
27
|
+
trackList.addEventListener('addtrack', this._onAudioTrackAddedOrRemovedCb);
|
|
28
|
+
trackList.addEventListener('removetrack', this._onAudioTrackAddedOrRemovedCb);
|
|
29
|
+
trackList.addEventListener('change', this._onAudioTrackChangeCb);
|
|
30
|
+
}
|
|
31
|
+
const waitLoadingPromise = this._waitForLoadingDone(this.el, params.abortSignal);
|
|
32
|
+
const paused = this.el.paused;
|
|
33
|
+
this.el.src = params.url;
|
|
34
|
+
try {
|
|
35
|
+
this.el.load();
|
|
36
|
+
await waitLoadingPromise;
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
try {
|
|
40
|
+
this.stop();
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
// ignore destroy error
|
|
44
|
+
}
|
|
45
|
+
this.emitter.emit(LoaderEvents.Error, { message: e.message, data: e });
|
|
46
|
+
return Promise.reject(e);
|
|
47
|
+
}
|
|
48
|
+
if (params.audioTrack !== undefined) {
|
|
49
|
+
this.switchAudioTrack(params.audioTrack);
|
|
50
|
+
}
|
|
51
|
+
if (params.startPosition !== undefined) {
|
|
52
|
+
this.el.currentTime = params.startPosition;
|
|
53
|
+
}
|
|
54
|
+
if (!paused) {
|
|
55
|
+
await this.el.play();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
_onAudioTrackAddedOrRemoved = () => {
|
|
59
|
+
const tracks = [];
|
|
60
|
+
const trackList = this.el.audioTracks;
|
|
61
|
+
for (let i = 0; trackList.length; i++) {
|
|
62
|
+
tracks.push({
|
|
63
|
+
id: i,
|
|
64
|
+
name: trackList[i].label,
|
|
65
|
+
bitrate: 0,
|
|
66
|
+
loaderData: trackList[i]
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
this.emitter.emit(LoaderEvents.AudioTracksUpdated, tracks);
|
|
70
|
+
};
|
|
71
|
+
_onAudioTrackChange = () => {
|
|
72
|
+
const trackList = this.el.audioTracks;
|
|
73
|
+
for (let i = 0; trackList.length; i++) {
|
|
74
|
+
if (trackList[i].enabled) {
|
|
75
|
+
this.emitter.emit(LoaderEvents.AudioTrackSwitched, i);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
stop() {
|
|
81
|
+
const trackList = this.el.audioTracks;
|
|
82
|
+
if (trackList) {
|
|
83
|
+
trackList.removeEventListener('addtrack', this._onAudioTrackAddedOrRemovedCb);
|
|
84
|
+
trackList.removeEventListener('removetrack', this._onAudioTrackAddedOrRemovedCb);
|
|
85
|
+
trackList.removeEventListener('change', this._onAudioTrackChangeCb);
|
|
86
|
+
}
|
|
87
|
+
this.el.pause();
|
|
88
|
+
this.el.src = '';
|
|
89
|
+
}
|
|
90
|
+
switchAudioTrack(id) {
|
|
91
|
+
const trackList = this.el.audioTracks;
|
|
92
|
+
if (!trackList) {
|
|
93
|
+
console.error('The browser does not support HTMLMediaElement.audioTracks');
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const track = trackList[id];
|
|
97
|
+
if (!track) {
|
|
98
|
+
console.error(`Audio track ${id} not found`);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.emitter.emit(LoaderEvents.AudioTrackSwitching, id);
|
|
102
|
+
track.enabled = true;
|
|
103
|
+
// for (let i = 0; i < trackList.length; i++) {
|
|
104
|
+
// trackList[i].enabled = false;
|
|
105
|
+
// }
|
|
106
|
+
}
|
|
107
|
+
switchQualityLevel() {
|
|
108
|
+
console.error('native loader does not support quality level switch');
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
canPlayType(mimeType) {
|
|
112
|
+
return this.el.canPlayType(mimeType) !== '';
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeLoader.js","sourceRoot":"","sources":["NativeLoader.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Playlist.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { PlayerLoadParams, Loader } from './VideoPlayer.js';
|
|
2
1
|
import { type Readable } from 'svelte/store';
|
|
2
|
+
import type { LoaderType } from './Loaders/LoaderInterface.js';
|
|
3
|
+
import type { PlayerLoadParams } from './types/PlayerLoadParams.js';
|
|
3
4
|
export interface PlaylistItemInterface {
|
|
4
5
|
title: string;
|
|
5
6
|
getLoadParams(): PlayerLoadParams;
|
|
@@ -7,8 +8,8 @@ export interface PlaylistItemInterface {
|
|
|
7
8
|
export declare class PlaylistItem implements PlaylistItemInterface {
|
|
8
9
|
title: string;
|
|
9
10
|
readonly url: string;
|
|
10
|
-
readonly loader?:
|
|
11
|
-
constructor(title: string, url: string, loader?:
|
|
11
|
+
readonly loader?: LoaderType | undefined;
|
|
12
|
+
constructor(title: string, url: string, loader?: LoaderType | undefined);
|
|
12
13
|
getLoadParams(): PlayerLoadParams;
|
|
13
14
|
}
|
|
14
15
|
export declare enum PlaylistEvents {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Playlist.js","sourceRoot":"","sources":["Playlist.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Playlist.js","sourceRoot":"","sources":["Playlist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type PlayerLoadParams, type VideoPlayer } from './VideoPlayer.js';
|
|
2
|
-
import { Playlist, type PlaylistItemInterface } from './Playlist.js';
|
|
3
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
|
+
import { Playlist, type PlaylistItemInterface } from './Playlist.js';
|
|
3
|
+
import type { VideoPlayer } from './VideoPlayer.js';
|
|
4
|
+
import type { PlayerLoadParams } from './types/PlayerLoadParams.js';
|
|
4
5
|
export declare enum PlaylistPlayerEvents {
|
|
5
6
|
PlaylistItemLoading = "playlistPlayer.itemLoading",
|
|
6
7
|
PlaylistItemLoaded = "playlistPlayer.itemLoaded",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { PlayerEvents } from './VideoPlayer.js';
|
|
2
|
-
import { Playlist, PlaylistEvents } from './Playlist.js';
|
|
3
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
|
+
import { Playlist, PlaylistEvents } from './Playlist.js';
|
|
3
|
+
import { PlayerEvents } from './VideoPlayerEvents.js';
|
|
4
4
|
export var PlaylistPlayerEvents;
|
|
5
5
|
(function (PlaylistPlayerEvents) {
|
|
6
6
|
PlaylistPlayerEvents["PlaylistItemLoading"] = "playlistPlayer.itemLoading";
|
|
@@ -35,8 +35,10 @@ export class PlaylistPlayer {
|
|
|
35
35
|
this.emitter.emit(PlaylistPlayerEvents.PlaylistItemLoaded, item);
|
|
36
36
|
}
|
|
37
37
|
catch (e) {
|
|
38
|
+
console.error('Loading playlist item failed', { item, e });
|
|
38
39
|
this.emitter.emit(PlaylistPlayerEvents.PlaylistItemLoadingFailed, item, e);
|
|
39
|
-
throw e;
|
|
40
|
+
// throw e;
|
|
41
|
+
return;
|
|
40
42
|
}
|
|
41
43
|
this._loadedItem = item;
|
|
42
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaylistPlayer.js","sourceRoot":"","sources":["PlaylistPlayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"PlaylistPlayer.js","sourceRoot":"","sources":["PlaylistPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,186 +1,40 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
import type { AudioTrack } from './AudioTrack.js';
|
|
2
|
+
import type { LoaderInterface } from './Loaders/LoaderInterface.js';
|
|
3
|
+
import { type HLSLoaderConfig } from './Loaders/HLSLoader.js';
|
|
4
|
+
import type { QualityLevel } from './types/QualityLevel.js';
|
|
5
|
+
import type { AudioTrack } from './types/AudioTrack.js';
|
|
6
|
+
import type { BufferedPart } from './types/BufferedPart.js';
|
|
8
7
|
import { DOMEventRegistry } from './DOMEventRegistry.js';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Playing = "player.playing",
|
|
15
|
-
Seeking = "player.seeking",
|
|
16
|
-
Seeked = "player.seeked",
|
|
17
|
-
MediaElementAttached = "player.mediaElementAttached",
|
|
18
|
-
MediaElementDetached = "player.mediaElementDetached",
|
|
19
|
-
ContainerElementAttached = "player.containerElementAttached",
|
|
20
|
-
ContainerElementDetached = "player.containerElementDetached",
|
|
21
|
-
FullScreenEnter = "player.fullscreenEnter",
|
|
22
|
-
FullScreenExit = "player.fullscreenExit",
|
|
23
|
-
FullScreenToggle = "player.fullscreenToggle",
|
|
24
|
-
LoadingStarted = "player.loadingStarted",
|
|
25
|
-
LoadingMetadataEnded = "player.loadingMetadataEnded",
|
|
26
|
-
LoadingMetadataFailed = "player.loadingMedataFailed",
|
|
27
|
-
LoadingEnded = "player.loadingEnded",
|
|
28
|
-
BufferingStarted = "player.bufferingStarted",
|
|
29
|
-
BufferingEnded = "player.bufferingEnded",
|
|
30
|
-
PlaybackBufferingProgress = "player.bufferingProgress",
|
|
31
|
-
PlaybackDurationChange = "player.durationChange",
|
|
32
|
-
PlaybackTimeUpdate = "player.timeUpdate",
|
|
33
|
-
PlaybackRateChange = "player.playbackRateChange",
|
|
34
|
-
VolumeChange = "player.volumeChange",
|
|
35
|
-
MuteChange = "player.muteChange",
|
|
36
|
-
VolumeStateChange = "player.volumeStateChange",
|
|
37
|
-
QualityLevelsUpdated = "player.qualityLevelsUpdated",
|
|
38
|
-
QualityLevelSwitching = "player.qualityLevelSwitching",
|
|
39
|
-
QualityLevelSwitched = "player.qualityLevelSwitched",
|
|
40
|
-
AudioTracksUpdated = "player.audioTracksUpdated",
|
|
41
|
-
AudioTrackSwitching = "player.audioTrackSwitching",
|
|
42
|
-
AudioTrackSwitched = "player.audioTrackSwitched"
|
|
43
|
-
}
|
|
44
|
-
export type VideoPlayerEventsMap = {
|
|
45
|
-
[PlayerEvents.Play]: () => void;
|
|
46
|
-
[PlayerEvents.Pause]: () => void;
|
|
47
|
-
[PlayerEvents.Ended]: () => void;
|
|
48
|
-
[PlayerEvents.Error]: (error: string) => void;
|
|
49
|
-
[PlayerEvents.Playing]: () => void;
|
|
50
|
-
[PlayerEvents.Seeking]: () => void;
|
|
51
|
-
[PlayerEvents.Seeked]: () => void;
|
|
52
|
-
[PlayerEvents.MediaElementAttached]: (el: HTMLMediaElement) => void;
|
|
53
|
-
[PlayerEvents.MediaElementDetached]: (el: HTMLMediaElement) => void;
|
|
54
|
-
[PlayerEvents.ContainerElementAttached]: (el: HTMLElement) => void;
|
|
55
|
-
[PlayerEvents.ContainerElementDetached]: (el: HTMLElement) => void;
|
|
56
|
-
[PlayerEvents.FullScreenEnter]: () => void;
|
|
57
|
-
[PlayerEvents.FullScreenExit]: () => void;
|
|
58
|
-
[PlayerEvents.FullScreenToggle]: (isFullScreen: boolean) => void;
|
|
59
|
-
[PlayerEvents.LoadingStarted]: (params: PlayerLoadParams) => void;
|
|
60
|
-
[PlayerEvents.LoadingMetadataEnded]: () => void;
|
|
61
|
-
[PlayerEvents.LoadingMetadataFailed]: (err: Error) => void;
|
|
62
|
-
[PlayerEvents.LoadingEnded]: () => void;
|
|
63
|
-
[PlayerEvents.BufferingStarted]: () => void;
|
|
64
|
-
[PlayerEvents.BufferingEnded]: () => void;
|
|
65
|
-
[PlayerEvents.PlaybackBufferingProgress]: (buffered: Array<BufferedPart>) => void;
|
|
66
|
-
[PlayerEvents.PlaybackDurationChange]: (duration: number) => void;
|
|
67
|
-
[PlayerEvents.PlaybackTimeUpdate]: (currentTime: number) => void;
|
|
68
|
-
[PlayerEvents.PlaybackRateChange]: (rate: number) => void;
|
|
69
|
-
[PlayerEvents.VolumeChange]: (volume: number) => void;
|
|
70
|
-
[PlayerEvents.MuteChange]: (muted: boolean) => void;
|
|
71
|
-
[PlayerEvents.VolumeStateChange]: (volume: number, muted: boolean) => void;
|
|
72
|
-
[PlayerEvents.QualityLevelsUpdated]: (levels: QualityLevel[]) => void;
|
|
73
|
-
[PlayerEvents.QualityLevelSwitching]: (level: QualityLevel, isAutoLevel: boolean) => void;
|
|
74
|
-
[PlayerEvents.QualityLevelSwitched]: (level: QualityLevel, isAutoLevel: boolean) => void;
|
|
75
|
-
[PlayerEvents.AudioTracksUpdated]: (tracks: AudioTrack[]) => void;
|
|
76
|
-
[PlayerEvents.AudioTrackSwitching]: (track: AudioTrack) => void;
|
|
77
|
-
[PlayerEvents.AudioTrackSwitched]: (track: AudioTrack) => void;
|
|
78
|
-
} & LoaderEventsMap;
|
|
79
|
-
export declare enum Loader {
|
|
80
|
-
Native = 0,
|
|
81
|
-
HLS = 1,
|
|
82
|
-
DASH = 2
|
|
83
|
-
}
|
|
84
|
-
export type GetUrlCb = (signal: AbortSignal) => Promise<string>;
|
|
85
|
-
type LoadUrl = string | Promise<string> | GetUrlCb;
|
|
86
|
-
export interface PlayerLoadParams {
|
|
87
|
-
url: LoadUrl;
|
|
88
|
-
startPosition?: number;
|
|
89
|
-
audioTrack?: number;
|
|
90
|
-
startLevel?: number;
|
|
91
|
-
loader?: Loader;
|
|
92
|
-
playAfterLoad?: boolean;
|
|
93
|
-
}
|
|
94
|
-
export type BufferedPart = {
|
|
95
|
-
start: number;
|
|
96
|
-
end: number;
|
|
97
|
-
};
|
|
8
|
+
import { type VideoPlayerEventsMap } from './VideoPlayerEvents.js';
|
|
9
|
+
import { VideoPlayerMediaState } from './VideoPlayerMediaState.js';
|
|
10
|
+
import { VideoLoadingState, VideoPlayerMediaLoadManager } from './VideoPlayerMediaLoadManager.js';
|
|
11
|
+
import type { PlayerLoadParams } from './types/PlayerLoadParams.js';
|
|
12
|
+
export { IS_AUDIO_CONTEXT_SUPPORTED, IS_AUDIO_GAIN_SUPPORTED } from './AudioCtx/AudioContext.js';
|
|
98
13
|
export type PlayerConfig = {
|
|
99
14
|
hlsConfig?: HLSLoaderConfig;
|
|
100
15
|
};
|
|
101
|
-
export declare
|
|
102
|
-
|
|
103
|
-
LoadingData = 1,
|
|
104
|
-
LoadingDone = 2,
|
|
105
|
-
LoadingFailed = 3
|
|
106
|
-
}
|
|
16
|
+
export declare const IS_FULLSCREEN_ALLOWED: boolean;
|
|
17
|
+
export declare const IS_VOLUME_CHANGE_ALLOWED: boolean;
|
|
107
18
|
export declare class VideoPlayer {
|
|
108
|
-
protected static _isFullScreenAllowed: boolean;
|
|
109
19
|
protected _el?: HTMLMediaElement;
|
|
110
20
|
protected _containerEl?: HTMLElement;
|
|
111
21
|
protected elEventsRegistry?: DOMEventRegistry<HTMLMediaElement>;
|
|
112
22
|
protected _cfg: PlayerConfig;
|
|
113
23
|
protected emitter: EventEmitter<VideoPlayerEventsMap>;
|
|
114
|
-
protected
|
|
115
|
-
protected
|
|
116
|
-
protected hlsLoader: HLSLoader | null;
|
|
117
|
-
protected nativeLoader: NativeLoader | null;
|
|
118
|
-
protected _loadingState: VideoLoadingState;
|
|
119
|
-
protected _isBuffering: boolean;
|
|
120
|
-
protected _isLoading: boolean;
|
|
24
|
+
protected _mediaState: VideoPlayerMediaState;
|
|
25
|
+
protected _loadingMgr: VideoPlayerMediaLoadManager;
|
|
121
26
|
protected _isFullScreen: boolean;
|
|
122
|
-
protected _paused: boolean;
|
|
123
|
-
protected _duration: number;
|
|
124
|
-
protected _currentTime: number;
|
|
125
|
-
protected _playbackRate: number;
|
|
126
|
-
protected _muted: boolean;
|
|
127
|
-
protected _volume: number;
|
|
128
|
-
protected _buffered: Array<BufferedPart>;
|
|
129
|
-
protected _isAutoQuality: boolean;
|
|
130
|
-
protected _currentQualityLevel: QualityLevel | null;
|
|
131
|
-
protected _qualityLevels: Array<QualityLevel>;
|
|
132
|
-
protected _currentAudioTrack: AudioTrack | null;
|
|
133
|
-
protected _audioTracks: AudioTrack[];
|
|
134
|
-
protected _isFullScreenStore: Writable<boolean>;
|
|
135
|
-
protected _isLoadingStore: Writable<boolean>;
|
|
136
|
-
protected _pausedStore: Writable<boolean>;
|
|
137
|
-
protected _durationStore: Writable<number>;
|
|
138
|
-
protected _currentTimeStore: Writable<number>;
|
|
139
|
-
protected _playbackRateStore: Writable<number>;
|
|
140
|
-
protected _mutedStore: Writable<boolean>;
|
|
141
|
-
protected _volumeStore: Writable<number>;
|
|
142
|
-
protected _bufferedStore: Writable<Array<BufferedPart>>;
|
|
143
|
-
protected _isAutoQualityStore: Writable<boolean>;
|
|
144
|
-
protected _currentQualityLevelStore: Writable<QualityLevel | null>;
|
|
145
|
-
protected _qualityLevelsStore: Writable<QualityLevel[]>;
|
|
146
|
-
protected _currentAudioTrackStore: Writable<AudioTrack | null>;
|
|
147
|
-
protected _audioTracksStore: Writable<AudioTrack[]>;
|
|
148
27
|
constructor(el?: HTMLMediaElement, cfg?: PlayerConfig);
|
|
149
28
|
private _registerVideoEvents;
|
|
150
29
|
private _unregisterVideoElementEvents;
|
|
151
|
-
private _onBufferingStarted;
|
|
152
|
-
private _onBufferingEnded;
|
|
153
|
-
private _calcIsLoadingState;
|
|
154
|
-
private _onProgress;
|
|
155
|
-
private _resetState;
|
|
156
|
-
private _refreshState;
|
|
157
|
-
private _onLoaderQualityLevelsUpdated;
|
|
158
|
-
private _onLoaderQualityLevelSwitching;
|
|
159
|
-
private _onLoaderQualityLevelSwitched;
|
|
160
|
-
private _onLoaderAudioTracksUpdated;
|
|
161
|
-
private _onLoaderAudioTrackSwitching;
|
|
162
|
-
private _onLoaderAudioTrackSwitched;
|
|
163
30
|
private _onFullScreenChange;
|
|
164
31
|
private _updateIsFullScreen;
|
|
165
|
-
private _updateBufferedParts;
|
|
166
|
-
private _updateDuration;
|
|
167
|
-
private _updateCurrentTime;
|
|
168
|
-
private _updatePlaybackRate;
|
|
169
|
-
private _updateVolume;
|
|
170
|
-
private _updateMuted;
|
|
171
|
-
private _updatePaused;
|
|
172
|
-
private _updateQualityLevels;
|
|
173
|
-
private _updateQualityLevel;
|
|
174
|
-
private _updateAudioTracks;
|
|
175
|
-
private _updateCurrentAudioTrack;
|
|
176
32
|
attachEl(el: HTMLMediaElement): void;
|
|
177
33
|
attachContainerEl(el: HTMLElement): void;
|
|
178
34
|
detachEl(): void;
|
|
179
35
|
detachContainerEl(): void;
|
|
180
36
|
destroy(): void;
|
|
181
37
|
stop(): void;
|
|
182
|
-
private _getLoaderByType;
|
|
183
|
-
private _getLoaderFromUrl;
|
|
184
38
|
load(params: PlayerLoadParams): Promise<void>;
|
|
185
39
|
togglePlay(): Promise<void>;
|
|
186
40
|
play(): Promise<void>;
|
|
@@ -192,7 +46,6 @@ export declare class VideoPlayer {
|
|
|
192
46
|
setMuted(muted: boolean): void;
|
|
193
47
|
setPlaybackRate(rate: number): void;
|
|
194
48
|
toggleMute(): void;
|
|
195
|
-
static isFullScreenAllowed(): boolean;
|
|
196
49
|
toggleFullScreen(): Promise<void>;
|
|
197
50
|
setQualityLevel(id: number, graceful: boolean): void;
|
|
198
51
|
setAutoQualityLevel(graceful: boolean): void;
|
|
@@ -202,36 +55,21 @@ export declare class VideoPlayer {
|
|
|
202
55
|
unsubscribe<K extends keyof VideoPlayerEventsMap>(ev: K, cb: VideoPlayerEventsMap[K]): void;
|
|
203
56
|
get el(): HTMLMediaElement;
|
|
204
57
|
get containerEl(): HTMLElement;
|
|
205
|
-
get loader(): LoaderInterface | null;
|
|
206
58
|
get isFullScreen(): boolean;
|
|
59
|
+
get loader(): LoaderInterface | null;
|
|
60
|
+
get isLoading(): boolean;
|
|
207
61
|
get loadingState(): VideoLoadingState;
|
|
208
62
|
get isBuffering(): boolean;
|
|
209
|
-
get isLoading(): boolean;
|
|
210
|
-
get qualityLevels(): QualityLevel[];
|
|
211
|
-
get isAutoQuality(): boolean;
|
|
212
|
-
get qualityLevel(): QualityLevel | null;
|
|
213
|
-
get audioTracks(): AudioTrack[];
|
|
214
|
-
get audioTrack(): AudioTrack | null;
|
|
215
|
-
get duration(): number;
|
|
216
63
|
get paused(): boolean;
|
|
64
|
+
get duration(): number;
|
|
217
65
|
get currentTime(): number;
|
|
218
66
|
get buffered(): BufferedPart[];
|
|
219
67
|
get playbackRate(): number;
|
|
220
68
|
get volume(): number;
|
|
221
69
|
get muted(): boolean;
|
|
222
|
-
get
|
|
223
|
-
get
|
|
224
|
-
get
|
|
225
|
-
get
|
|
226
|
-
get
|
|
227
|
-
get qualityLevelStore(): Readable<QualityLevel | null>;
|
|
228
|
-
get audioTracksStore(): Readable<AudioTrack[]>;
|
|
229
|
-
get audioTrackStore(): Readable<AudioTrack | null>;
|
|
230
|
-
get durationStore(): Readable<number>;
|
|
231
|
-
get currentTimeStore(): Readable<number>;
|
|
232
|
-
get bufferedStore(): Readable<BufferedPart[]>;
|
|
233
|
-
get playbackRateStore(): Readable<number>;
|
|
234
|
-
get volumeStore(): Readable<number>;
|
|
235
|
-
get mutedStore(): Readable<boolean>;
|
|
70
|
+
get qualityLevels(): QualityLevel[];
|
|
71
|
+
get isAutoQuality(): boolean;
|
|
72
|
+
get qualityLevel(): QualityLevel | null;
|
|
73
|
+
get audioTracks(): AudioTrack[];
|
|
74
|
+
get audioTrack(): AudioTrack | null;
|
|
236
75
|
}
|
|
237
|
-
export {};
|