@codercms/web-player 0.0.3 → 0.0.5

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.
@@ -0,0 +1,6 @@
1
+ export interface AudioTrack {
2
+ readonly id: number;
3
+ readonly name: string;
4
+ readonly bitrate: number;
5
+ readonly loaderData: object;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioTrack.js","sourceRoot":"","sources":["AudioTrack.ts"],"names":[],"mappings":""}
@@ -48,12 +48,33 @@ export class HLSLoader {
48
48
  this._onLevelsUpdated(data.levels);
49
49
  resolve();
50
50
  });
51
+ hls.on(Hls.Events.LEVEL_SWITCHING, (event, data) => {
52
+ this.emitter.emit(LoaderEvents.QualityLevelSwitching, data.level, hls.autoLevelEnabled);
53
+ });
51
54
  hls.on(Hls.Events.LEVEL_SWITCHED, (event, data) => {
52
- this.emitter.emit(LoaderEvents.QualityLevelSwitched, data.level);
55
+ this.emitter.emit(LoaderEvents.QualityLevelSwitched, data.level, hls.autoLevelEnabled);
53
56
  });
54
57
  hls.on(Hls.Events.LEVELS_UPDATED, (event, data) => {
55
58
  this._onLevelsUpdated(data.levels);
56
59
  });
60
+ hls.on(Hls.Events.AUDIO_TRACK_SWITCHING, (event, data) => {
61
+ this.emitter.emit(LoaderEvents.AudioTrackSwitching, data.id);
62
+ });
63
+ hls.on(Hls.Events.AUDIO_TRACK_SWITCHED, (event, data) => {
64
+ this.emitter.emit(LoaderEvents.AudioTrackSwitching, data.id);
65
+ });
66
+ hls.on(Hls.Events.AUDIO_TRACKS_UPDATED, (event, data) => {
67
+ const tracks = [];
68
+ for (const track of data.audioTracks) {
69
+ tracks.push({
70
+ id: track.id,
71
+ name: track.name,
72
+ bitrate: track.bitrate,
73
+ loaderData: track
74
+ });
75
+ }
76
+ this.emitter.emit(LoaderEvents.AudioTracksUpdated, tracks);
77
+ });
57
78
  hls.on(Hls.Events.ERROR, (event, data) => {
58
79
  if (data.fatal) {
59
80
  switch (data.type) {
@@ -108,6 +129,10 @@ export class HLSLoader {
108
129
  }
109
130
  // TODO: Support graceful = false
110
131
  this.hls.audioTrack = id;
132
+ if (!graceful) {
133
+ this.el.currentTime -= 1;
134
+ this.el.currentTime += 1;
135
+ }
111
136
  }
112
137
  switchQualityLevel(id, graceful) {
113
138
  if (!this.hls) {
@@ -1 +1 @@
1
- {"version":3,"file":"HLSLoader.js","sourceRoot":"","sources":["HLSLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HLSLoader.js","sourceRoot":"","sources":["HLSLoader.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,15 @@
1
1
  import type { QualityLevel } from './QualityLevel';
2
+ import type { AudioTrack } from './AudioTrack';
2
3
  export declare enum LoaderEvents {
3
4
  Loading = "loader.loading",
4
5
  Loaded = "loader.loaded",
5
6
  Error = "loader.error",
6
7
  QualityLevelsUpdated = "loader.qualityLevelsUpdated",
7
- QualityLevelSwitched = "loader.qualityLevelSwitched"
8
+ QualityLevelSwitching = "loader.qualityLevelSwitching",
9
+ QualityLevelSwitched = "loader.qualityLevelSwitched",
10
+ AudioTracksUpdated = "loader.audioTracksUpdated",
11
+ AudioTrackSwitching = "loader.audioTrackSwitching",
12
+ AudioTrackSwitched = "loader.audioTrackSwitched"
8
13
  }
9
14
  export type LoaderError = {
10
15
  message: string;
@@ -15,7 +20,11 @@ export type LoaderEventsMap = {
15
20
  [LoaderEvents.Loaded]: (params: LoadParams) => void;
16
21
  [LoaderEvents.Error]: (error: LoaderError) => void;
17
22
  [LoaderEvents.QualityLevelsUpdated]: (levels: QualityLevel[]) => void;
18
- [LoaderEvents.QualityLevelSwitched]: (levelId: number) => void;
23
+ [LoaderEvents.QualityLevelSwitching]: (levelId: number, isAutoLevel: boolean) => void;
24
+ [LoaderEvents.QualityLevelSwitched]: (levelId: number, isAutoLevel: boolean) => void;
25
+ [LoaderEvents.AudioTracksUpdated]: (tracks: AudioTrack[]) => void;
26
+ [LoaderEvents.AudioTrackSwitching]: (trackId: number) => void;
27
+ [LoaderEvents.AudioTrackSwitched]: (trackId: number) => void;
19
28
  };
20
29
  export type GetUrlCb = (signal: AbortSignal) => Promise<string>;
21
30
  export interface LoadParams {
@@ -4,7 +4,11 @@ export var LoaderEvents;
4
4
  LoaderEvents["Loaded"] = "loader.loaded";
5
5
  LoaderEvents["Error"] = "loader.error";
6
6
  LoaderEvents["QualityLevelsUpdated"] = "loader.qualityLevelsUpdated";
7
+ LoaderEvents["QualityLevelSwitching"] = "loader.qualityLevelSwitching";
7
8
  LoaderEvents["QualityLevelSwitched"] = "loader.qualityLevelSwitched";
9
+ LoaderEvents["AudioTracksUpdated"] = "loader.audioTracksUpdated";
10
+ LoaderEvents["AudioTrackSwitching"] = "loader.audioTrackSwitching";
11
+ LoaderEvents["AudioTrackSwitched"] = "loader.audioTrackSwitched";
8
12
  })(LoaderEvents || (LoaderEvents = {}));
9
13
  export async function getLoadUrl(params) {
10
14
  let url;
@@ -1 +1 @@
1
- {"version":3,"file":"LoaderInterface.js","sourceRoot":"","sources":["LoaderInterface.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACvB,0CAA0B,CAAA;IAC1B,wCAAwB,CAAA;IACxB,sCAAsB,CAAA;IAEtB,oEAAoD,CAAA;IACpD,oEAAoD,CAAA;AACrD,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAyCD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAkB;IAClD,IAAI,GAAW,CAAC;IAEhB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACpB,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KAC3B;SAAM,IAAI,MAAM,CAAC,GAAG,YAAY,OAAO,EAAE;QACzC,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;KAChC;SAAM;QACN,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;KAC9B;IAED,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;QACxB,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;KAC5B;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"LoaderInterface.js","sourceRoot":"","sources":["LoaderInterface.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,YAYX;AAZD,WAAY,YAAY;IACvB,0CAA0B,CAAA;IAC1B,wCAAwB,CAAA;IACxB,sCAAsB,CAAA;IAEtB,oEAAoD,CAAA;IACpD,sEAAsD,CAAA;IACtD,oEAAoD,CAAA;IAEpD,gEAAgD,CAAA;IAChD,kEAAkD,CAAA;IAClD,gEAAgD,CAAA;AACjD,CAAC,EAZW,YAAY,KAAZ,YAAY,QAYvB;AA8CD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAkB;IAClD,IAAI,GAAW,CAAC;IAEhB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACpB,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KAC3B;SAAM,IAAI,MAAM,CAAC,GAAG,YAAY,OAAO,EAAE;QACzC,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;KAChC;SAAM;QACN,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;KAC9B;IAED,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;QACxB,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;KAC5B;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
@@ -18,7 +18,7 @@ export declare class PlaylistPlayer<ItemImpl extends PlaylistItemInterface> {
18
18
  readonly playlist: Playlist<ItemImpl>;
19
19
  readonly player: VideoPlayer;
20
20
  protected readonly opts: PlaylistPlayerOpts;
21
- constructor(el: HTMLVideoElement, opts?: PlaylistPlayerOpts);
21
+ constructor(el?: HTMLVideoElement, opts?: PlaylistPlayerOpts);
22
22
  private _handleHTMLPlayEvent;
23
23
  private _loadPlaylistItem;
24
24
  togglePlay(opts?: LoadOpts): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"PlaylistPlayer.js","sourceRoot":"","sources":["PlaylistPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlaylistPlayer.js","sourceRoot":"","sources":["PlaylistPlayer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
+ import { type Readable, type Writable } from 'svelte/store';
2
3
  import { HLSLoader } from './HLSLoader.js';
3
4
  import type { GetUrlCb, LoaderEventsMap, LoaderInterface } from './LoaderInterface.js';
4
5
  import type { QualityLevel } from './QualityLevel';
6
+ import type { AudioTrack } from './AudioTrack';
5
7
  export declare enum PlayerEvents {
6
8
  Play = "player.play",
7
9
  Pause = "player.pause",
@@ -18,7 +20,11 @@ export declare enum PlayerEvents {
18
20
  MuteChange = "player.muteChange",
19
21
  VolumeStateChange = "player.volumeStateChange",
20
22
  QualityLevelsUpdated = "player.qualityLevelsUpdated",
21
- QualityLevelSwitched = "player.qualityLevelSwitched"
23
+ QualityLevelSwitching = "player.qualityLevelSwitching",
24
+ QualityLevelSwitched = "player.qualityLevelSwitched",
25
+ AudioTracksUpdated = "player.audioTracksUpdated",
26
+ AudioTrackSwitching = "player.audioTrackSwitching",
27
+ AudioTrackSwitched = "player.audioTrackSwitched"
22
28
  }
23
29
  export type VideoPlayerEventsMap = {
24
30
  [PlayerEvents.Play]: () => void;
@@ -36,7 +42,14 @@ export type VideoPlayerEventsMap = {
36
42
  [PlayerEvents.MuteChange]: (muted: boolean) => void;
37
43
  [PlayerEvents.VolumeStateChange]: (volume: number, muted: boolean) => void;
38
44
  [PlayerEvents.QualityLevelsUpdated]: (levels: QualityLevel[]) => void;
39
- [PlayerEvents.QualityLevelSwitched]: (level: QualityLevel) => void;
45
+ [PlayerEvents.QualityLevelSwitching]: (level: QualityLevel, isAutoLevel: boolean) => void;
46
+ [PlayerEvents.QualityLevelSwitched]: (level: QualityLevel, isAutoLevel: boolean) => void;
47
+ [PlayerEvents.QualityLevelsUpdated]: (levels: QualityLevel[]) => void;
48
+ [PlayerEvents.QualityLevelSwitching]: (level: QualityLevel, isAutoLevel: boolean) => void;
49
+ [PlayerEvents.QualityLevelSwitched]: (level: QualityLevel, isAutoLevel: boolean) => void;
50
+ [PlayerEvents.AudioTracksUpdated]: (tracks: AudioTrack[]) => void;
51
+ [PlayerEvents.AudioTrackSwitching]: (track: AudioTrack) => void;
52
+ [PlayerEvents.AudioTrackSwitched]: (track: AudioTrack) => void;
40
53
  } & LoaderEventsMap;
41
54
  export declare enum PlayerActions {
42
55
  PlayItem = "player.playItem"
@@ -60,14 +73,14 @@ export type BufferedPart = {
60
73
  end: number;
61
74
  };
62
75
  export declare class VideoPlayer {
63
- protected el: HTMLVideoElement;
76
+ protected el?: HTMLMediaElement;
64
77
  protected emitter: EventEmitter<VideoPlayerEventsMap>;
65
78
  protected loadAbortController: AbortController | null;
66
79
  protected currentLoader: LoaderInterface | null;
67
80
  protected hlsLoader: HLSLoader | null;
68
81
  protected _isLoading: boolean;
69
- protected _duration: number;
70
82
  protected _paused: boolean;
83
+ protected _duration: number;
71
84
  protected _currentTime: number;
72
85
  protected _playbackRate: number;
73
86
  protected _muted: boolean;
@@ -76,16 +89,48 @@ export declare class VideoPlayer {
76
89
  protected _isAutoQuality: boolean;
77
90
  protected _currentQualityLevel: QualityLevel | null;
78
91
  protected _qualityLevels: Array<QualityLevel>;
79
- constructor(el: HTMLVideoElement, emitter?: EventEmitter<VideoPlayerEventsMap, any>);
92
+ protected _currentAudioTrack: AudioTrack | null;
93
+ protected _audioTracks: AudioTrack[];
94
+ protected _isLoadingStore: Writable<boolean>;
95
+ protected _pausedStore: Writable<boolean>;
96
+ protected _durationStore: Writable<number>;
97
+ protected _currentTimeStore: Writable<number>;
98
+ protected _playbackRateStore: Writable<number>;
99
+ protected _mutedStore: Writable<boolean>;
100
+ protected _volumeStore: Writable<number>;
101
+ protected _bufferedStore: Writable<Array<BufferedPart>>;
102
+ protected _isAutoQualityStore: Writable<boolean>;
103
+ protected _currentQualityLevelStore: Writable<QualityLevel | null>;
104
+ protected _qualityLevelsStore: Writable<QualityLevel[]>;
105
+ protected _currentAudioTrackStore: Writable<AudioTrack | null>;
106
+ protected _audioTracksStore: Writable<AudioTrack[]>;
107
+ constructor(el?: HTMLMediaElement, emitter?: EventEmitter<VideoPlayerEventsMap, any>);
80
108
  private _registerVideoEvents;
81
- private _onPause;
109
+ private _unregisterVideoElementEvents;
82
110
  private _onProgress;
83
111
  private _onLoaded;
112
+ private _updateIsLoading;
113
+ private _updateBufferedParts;
114
+ private _updateDuration;
115
+ private _updateCurrentTime;
116
+ private _updatePlaybackRate;
117
+ private _updateVolume;
118
+ private _updateMuted;
119
+ private _updatePaused;
120
+ private _updateQualityLevels;
121
+ private _updateQualityLevel;
122
+ private _updateAudioTracks;
123
+ private _updateCurrentAudioTrack;
124
+ attachEl(el: HTMLMediaElement): void;
125
+ detachEl(): void;
84
126
  load(params: PlayerLoadParams): Promise<void>;
85
127
  togglePlay(): Promise<void>;
86
128
  play(): Promise<void>;
87
129
  pause(): void;
88
130
  seekTo(pos: number): void;
131
+ setVolume(vol: number): void;
132
+ setMuted(muted: boolean): void;
133
+ toggleMute(): void;
89
134
  setQualityLevel(id: number, graceful: boolean): void;
90
135
  setAutoQualityLevel(graceful: boolean): void;
91
136
  subscribe<K extends keyof VideoPlayerEventsMap>(ev: K, cb: VideoPlayerEventsMap[K]): void;
@@ -94,6 +139,8 @@ export declare class VideoPlayer {
94
139
  get qualityLevels(): QualityLevel[];
95
140
  get isAutoQuality(): boolean;
96
141
  get qualityLevel(): QualityLevel | null;
142
+ get audioTracks(): AudioTrack[];
143
+ get audioTrack(): AudioTrack | null;
97
144
  get duration(): number;
98
145
  get paused(): boolean;
99
146
  get currentTime(): number;
@@ -101,4 +148,17 @@ export declare class VideoPlayer {
101
148
  get playbackRate(): number;
102
149
  get volume(): number;
103
150
  get muted(): boolean;
151
+ get pausedStore(): Readable<boolean>;
152
+ get isLoadingStore(): Readable<boolean>;
153
+ get qualityLevelsStore(): Readable<QualityLevel[]>;
154
+ get isAutoQualityStore(): Readable<boolean>;
155
+ get qualityLevelStore(): Readable<QualityLevel | null>;
156
+ get audioTracksStore(): Readable<AudioTrack[]>;
157
+ get audioTrackStore(): Readable<AudioTrack | null>;
158
+ get durationStore(): Readable<number>;
159
+ get currentTimeStore(): Readable<number>;
160
+ get bufferedStore(): Readable<BufferedPart[]>;
161
+ get playbackRateStore(): Readable<number>;
162
+ get volumeStore(): Readable<number>;
163
+ get mutedStore(): Readable<boolean>;
104
164
  }
@@ -1,4 +1,5 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
+ import { readonly, writable } from 'svelte/store';
2
3
  import { HLSLoader, isHlsJsSupported } from './HLSLoader.js';
3
4
  import { LoaderEvents } from './LoaderInterface.js';
4
5
  import { BROWSER } from 'esm-env';
@@ -19,7 +20,11 @@ export var PlayerEvents;
19
20
  PlayerEvents["MuteChange"] = "player.muteChange";
20
21
  PlayerEvents["VolumeStateChange"] = "player.volumeStateChange";
21
22
  PlayerEvents["QualityLevelsUpdated"] = "player.qualityLevelsUpdated";
23
+ PlayerEvents["QualityLevelSwitching"] = "player.qualityLevelSwitching";
22
24
  PlayerEvents["QualityLevelSwitched"] = "player.qualityLevelSwitched";
25
+ PlayerEvents["AudioTracksUpdated"] = "player.audioTracksUpdated";
26
+ PlayerEvents["AudioTrackSwitching"] = "player.audioTrackSwitching";
27
+ PlayerEvents["AudioTrackSwitched"] = "player.audioTrackSwitched";
23
28
  })(PlayerEvents || (PlayerEvents = {}));
24
29
  export var PlayerActions;
25
30
  (function (PlayerActions) {
@@ -38,8 +43,8 @@ export class VideoPlayer {
38
43
  currentLoader = null;
39
44
  hlsLoader = null;
40
45
  _isLoading = false;
41
- _duration = 0;
42
46
  _paused = true;
47
+ _duration = 0;
43
48
  _currentTime = 0;
44
49
  _playbackRate = 0;
45
50
  _muted = false;
@@ -48,31 +53,48 @@ export class VideoPlayer {
48
53
  _isAutoQuality = true;
49
54
  _currentQualityLevel = null;
50
55
  _qualityLevels = [];
56
+ _currentAudioTrack = null;
57
+ _audioTracks = [];
58
+ _isLoadingStore = writable(this._isLoading);
59
+ _pausedStore = writable(this._paused);
60
+ _durationStore = writable(this._duration);
61
+ _currentTimeStore = writable(this._currentTime);
62
+ _playbackRateStore = writable(this._playbackRate);
63
+ _mutedStore = writable(this._muted);
64
+ _volumeStore = writable(this._volume);
65
+ _bufferedStore = writable(this._buffered);
66
+ _isAutoQualityStore = writable(this._isAutoQuality);
67
+ _currentQualityLevelStore = writable(this._currentQualityLevel);
68
+ _qualityLevelsStore = writable(this._qualityLevels);
69
+ _currentAudioTrackStore = writable(this._currentAudioTrack);
70
+ _audioTracksStore = writable(this._audioTracks);
51
71
  constructor(el, emitter = new EventEmitter()) {
52
- this.el = el;
53
72
  this.emitter = emitter;
54
73
  // Do nothing in SSR environment
55
74
  if (!BROWSER) {
56
75
  return;
57
76
  }
58
- this._paused = el.paused;
59
- this._muted = el.muted;
60
- this._volume = el.volume;
61
- this._currentTime = el.currentTime;
62
- this._playbackRate = el.playbackRate;
63
- // Setup HLS.js loader
64
- if (isHlsJsSupported()) {
65
- // @ts-ignore
66
- this.hlsLoader = new HLSLoader(this.emitter, this.el, {
67
- progressive: true
68
- });
77
+ if (el) {
78
+ this.attachEl(el);
69
79
  }
80
+ // Reset state
81
+ this.emitter.on(LoaderEvents.Loading, () => {
82
+ this._updateIsLoading(true);
83
+ this._updateAudioTracks([]);
84
+ this._updateQualityLevels([]);
85
+ this._updateDuration(0);
86
+ this._updateCurrentTime(0);
87
+ this._updateBufferedParts([]);
88
+ this._currentQualityLevel = null;
89
+ this._currentQualityLevelStore.set(null);
90
+ this._currentAudioTrack = null;
91
+ this._currentAudioTrackStore.set(null);
92
+ });
70
93
  this.emitter.on(LoaderEvents.QualityLevelsUpdated, (newLevels) => {
71
94
  console.log('Quality levels updated', newLevels);
72
- this._qualityLevels = newLevels;
73
- this.emitter.emit(PlayerEvents.QualityLevelsUpdated, newLevels);
95
+ this._updateQualityLevels(newLevels);
74
96
  });
75
- this.emitter.on(LoaderEvents.QualityLevelSwitched, (newLevelId) => {
97
+ this.emitter.on(LoaderEvents.QualityLevelSwitching, (newLevelId, isAutoLevel) => {
76
98
  const newLevel = this._qualityLevels.find((lvl) => lvl.id === newLevelId);
77
99
  if (!newLevel) {
78
100
  console.error(`Quality level switch to unknown level`, {
@@ -81,131 +103,142 @@ export class VideoPlayer {
81
103
  });
82
104
  return;
83
105
  }
84
- this._currentQualityLevel = newLevel;
85
- this.emitter.emit(PlayerEvents.QualityLevelSwitched, newLevel);
106
+ this._isAutoQuality = isAutoLevel;
107
+ this.emitter.emit(PlayerEvents.QualityLevelSwitching, newLevel, isAutoLevel);
86
108
  });
87
- this.emitter.on(LoaderEvents.QualityLevelsUpdated, () => { });
88
- // this.emitter.on(PlayerEvents.Playing, () => {
89
- // console.log('Playing...');
90
- // });
91
- //
92
- // this.emitter.on(PlayerEvents.Play, () => {
93
- // console.log('Play!');
94
- // });
95
- //
96
- // this.emitter.on(PlayerEvents.Pause, () => {
97
- // console.log('Pause!');
98
- // });
99
- //
100
- // this.emitter.on(PlayerEvents.MuteChange, (muted: boolean) => {
101
- // console.log('Mute change', { muted });
102
- // });
103
- //
104
- // this.emitter.on(PlayerEvents.VolumeChange, (volume: number) => {
105
- // console.log('Volume change', { volume });
106
- // });
107
- //
108
- // this.emitter.on(PlayerEvents.PlaybackRateChange, (rate: number) => {
109
- // console.log('Playback rate change', { rate });
110
- // });
111
- //
112
- // this.emitter.on(PlayerEvents.LoadingStarted, () => {
113
- // console.log('Video Loading...');
114
- // });
115
- //
116
- // this.emitter.on(PlayerEvents.LoadingEnded, () => {
117
- // console.log('Video Loaded...');
118
- // });
119
- this._registerVideoEvents();
120
- }
121
- _registerVideoEvents() {
122
- this.el.addEventListener('play', () => {
123
- this._paused = false;
124
- this.emitter.emit(PlayerEvents.Play);
109
+ this.emitter.on(LoaderEvents.QualityLevelSwitched, (newLevelId, isAutoLevel) => {
110
+ const newLevel = this._qualityLevels.find((lvl) => lvl.id === newLevelId);
111
+ if (!newLevel) {
112
+ console.error(`Quality level switch to unknown level`, {
113
+ newLevelId,
114
+ levels: this._qualityLevels
115
+ });
116
+ return;
117
+ }
118
+ this._updateQualityLevel(newLevel, isAutoLevel);
119
+ });
120
+ this.emitter.on(LoaderEvents.AudioTracksUpdated, (newTracks) => {
121
+ console.log('Audio tracks updated', newTracks);
122
+ this._updateAudioTracks(newTracks);
125
123
  });
126
- this.el.addEventListener('pause', () => this._onPause());
127
- this.el.addEventListener('playing', () => {
124
+ this.emitter.on(LoaderEvents.AudioTrackSwitching, (newTrackId) => {
125
+ const newTrack = this._audioTracks.find((lvl) => lvl.id === newTrackId);
126
+ if (!newTrack) {
127
+ console.error(`Audio track switch to unknown track`, {
128
+ newTrackId,
129
+ levels: this._qualityLevels
130
+ });
131
+ return;
132
+ }
133
+ this.emitter.emit(PlayerEvents.AudioTrackSwitching, newTrack);
134
+ });
135
+ this.emitter.on(LoaderEvents.AudioTrackSwitched, (newTrackId) => {
136
+ const newTrack = this._audioTracks.find((lvl) => lvl.id === newTrackId);
137
+ if (!newTrack) {
138
+ console.error(`Audio track switch to unknown track`, {
139
+ newTrackId,
140
+ levels: this._qualityLevels
141
+ });
142
+ return;
143
+ }
144
+ this._updateCurrentAudioTrack(newTrack);
145
+ });
146
+ }
147
+ _registerVideoEvents(el) {
148
+ const _onPlay = () => {
149
+ this._updatePaused(el.paused);
150
+ };
151
+ const _onPause = () => {
152
+ this._updatePaused(el.paused);
153
+ };
154
+ const _onPlaying = () => {
128
155
  // Playing event can occur before canplaythrough event, so send loaded event there too
129
156
  this._onLoaded();
130
157
  this.emitter.emit(PlayerEvents.Playing);
131
- });
132
- this.el.addEventListener('waiting', () => {
158
+ };
159
+ const _onWaiting = () => {
133
160
  // Loading event is already sent
134
161
  if (this._isLoading) {
135
162
  return;
136
163
  }
137
- this._isLoading = true;
138
- this.emitter.emit(PlayerEvents.LoadingStarted);
139
- });
140
- this.el.addEventListener('ended', () => this.emitter.emit(PlayerEvents.Ended));
141
- this.el.addEventListener('progress', () => this._onProgress());
142
- this.el.addEventListener('canplaythrough', () => {
164
+ this._updateIsLoading(true);
165
+ };
166
+ const _onEnded = () => {
167
+ this.emitter.emit(PlayerEvents.Ended);
168
+ };
169
+ const _onReadyToPlay = () => {
143
170
  this._onLoaded();
144
- });
145
- this.el.addEventListener('durationchange', () => {
146
- let newDur = this.el.duration;
171
+ };
172
+ const _onDurationChange = () => {
173
+ let newDur = el.duration;
147
174
  if (!isFinite(newDur) || isNaN(newDur)) {
148
175
  newDur = 0;
149
176
  }
150
177
  if (this._duration !== newDur) {
151
- this._duration = newDur;
152
- this.emitter.emit(PlayerEvents.PlaybackDurationChange, newDur);
178
+ this._updateDuration(newDur);
153
179
  }
154
- });
155
- this.el.addEventListener('timeupdate', () => {
156
- let newTime = this.el.currentTime;
180
+ };
181
+ const _onTimeUpdate = () => {
182
+ let newTime = el.currentTime;
157
183
  if (!isFinite(newTime) || isNaN(newTime)) {
158
184
  newTime = 0;
159
185
  }
160
186
  if (this._currentTime !== newTime) {
161
- this._currentTime = newTime;
162
- this.emitter.emit(PlayerEvents.PlaybackTimeUpdate, newTime);
187
+ this._updateCurrentTime(newTime);
163
188
  }
164
189
  // Buffered parts may not be dispatched in on progress event
165
190
  // so take care that there is always fresh buffered parts
166
- this._onProgress();
167
- });
168
- this.el.addEventListener('ratechange', () => {
169
- const newRate = this.el.playbackRate;
170
- if (this._playbackRate !== newRate) {
171
- this._playbackRate = newRate;
172
- this.emitter.emit(PlayerEvents.PlaybackRateChange, newRate);
173
- }
174
- });
175
- this.el.addEventListener('volumechange', () => {
176
- const newVol = this.el.volume;
177
- const newMuted = this.el.muted;
191
+ this._onProgress(el);
192
+ };
193
+ const _onVolumeChange = () => {
194
+ const newVol = el.volume;
195
+ const newMuted = el.muted;
178
196
  const isVolChanged = this._volume !== newVol;
179
197
  const isMuteChanged = this._muted !== newMuted;
180
198
  if (isVolChanged) {
181
- this._volume = newVol;
182
- this.emitter.emit(PlayerEvents.VolumeChange, newVol);
199
+ this._updateVolume(newVol);
183
200
  }
184
201
  if (isMuteChanged) {
185
- this._muted = newMuted;
186
- this.emitter.emit(PlayerEvents.MuteChange, newMuted);
202
+ this._updateMuted(newMuted);
187
203
  }
188
204
  if (isVolChanged || isMuteChanged) {
189
205
  this.emitter.emit(PlayerEvents.VolumeStateChange, newVol, newMuted);
190
206
  }
191
- });
192
- this.el.addEventListener('error', (ev) => {
207
+ };
208
+ const _onRateChange = () => {
209
+ const newRate = el.playbackRate;
210
+ if (this._playbackRate !== newRate) {
211
+ this._updatePlaybackRate(newRate);
212
+ }
213
+ };
214
+ const _onProgress = () => {
215
+ this._onProgress(el);
216
+ };
217
+ const _onError = (ev) => {
193
218
  this.emitter.emit(PlayerEvents.Error, ev.error ?? 'unknown playback error');
194
- });
219
+ };
220
+ el.addEventListener('play', _onPlay);
221
+ el.addEventListener('pause', _onPause);
222
+ el.addEventListener('playing', _onPlaying);
223
+ el.addEventListener('waiting', _onWaiting);
224
+ el.addEventListener('ended', _onEnded);
225
+ el.addEventListener('progress', _onProgress);
226
+ el.addEventListener('canplaythrough', _onReadyToPlay);
227
+ el.addEventListener('durationchange', _onDurationChange);
228
+ el.addEventListener('timeupdate', _onTimeUpdate);
229
+ el.addEventListener('ratechange', _onRateChange);
230
+ el.addEventListener('volumechange', _onVolumeChange);
231
+ el.addEventListener('error', _onError);
195
232
  }
196
- _onPause() {
197
- this._paused = true;
198
- this.emitter.emit(PlayerEvents.Pause);
199
- }
200
- _onProgress() {
201
- const newBuf = this.el.buffered;
233
+ _unregisterVideoElementEvents() { }
234
+ _onProgress(el) {
235
+ const newBuf = el.buffered;
202
236
  const parts = [];
203
237
  if (newBuf.length !== this._buffered.length) {
204
238
  for (let i = 0; i < newBuf.length; i++) {
205
239
  parts.push({ start: newBuf.start(i), end: newBuf.end(i) });
206
240
  }
207
- this._buffered = parts;
208
- this.emitter.emit(PlayerEvents.PlaybackBufferingProgress, parts);
241
+ this._updateBufferedParts(parts);
209
242
  return;
210
243
  }
211
244
  let isChanged = false;
@@ -218,15 +251,117 @@ export class VideoPlayer {
218
251
  if (!isChanged) {
219
252
  return;
220
253
  }
221
- this._buffered = parts;
222
- this.emitter.emit(PlayerEvents.PlaybackBufferingProgress, parts);
254
+ this._updateBufferedParts(parts);
223
255
  }
224
256
  _onLoaded() {
225
257
  if (this._isLoading) {
226
- this._isLoading = false;
258
+ this._updateIsLoading(false);
259
+ }
260
+ }
261
+ _updateIsLoading(isLoading) {
262
+ this._isLoading = isLoading;
263
+ this._isLoadingStore.set(isLoading);
264
+ if (isLoading) {
265
+ this.emitter.emit(PlayerEvents.LoadingStarted);
266
+ }
267
+ else {
227
268
  this.emitter.emit(PlayerEvents.LoadingEnded);
228
269
  }
229
270
  }
271
+ _updateBufferedParts(buffered) {
272
+ this._buffered = buffered;
273
+ this._bufferedStore.set(buffered);
274
+ this.emitter.emit(PlayerEvents.PlaybackBufferingProgress, buffered);
275
+ }
276
+ _updateDuration(duration) {
277
+ this._duration = duration;
278
+ this._durationStore.set(duration);
279
+ this.emitter.emit(PlayerEvents.PlaybackDurationChange, duration);
280
+ }
281
+ _updateCurrentTime(currentTime) {
282
+ this._currentTime = currentTime;
283
+ this._currentTimeStore.set(currentTime);
284
+ this.emitter.emit(PlayerEvents.PlaybackTimeUpdate, currentTime);
285
+ }
286
+ _updatePlaybackRate(rate) {
287
+ this._playbackRate = rate;
288
+ this._playbackRateStore.set(rate);
289
+ this.emitter.emit(PlayerEvents.PlaybackRateChange, rate);
290
+ }
291
+ _updateVolume(volume) {
292
+ this._volume = volume;
293
+ this._volumeStore.set(volume);
294
+ this.emitter.emit(PlayerEvents.VolumeChange, volume);
295
+ }
296
+ _updateMuted(muted) {
297
+ this._muted = muted;
298
+ this._mutedStore.set(muted);
299
+ this.emitter.emit(PlayerEvents.MuteChange, muted);
300
+ }
301
+ _updatePaused(paused) {
302
+ this._paused = paused;
303
+ this._pausedStore.set(paused);
304
+ if (!paused) {
305
+ this.emitter.emit(PlayerEvents.Play);
306
+ }
307
+ else {
308
+ this.emitter.emit(PlayerEvents.Pause);
309
+ }
310
+ }
311
+ _updateQualityLevels(levels) {
312
+ this._qualityLevels = levels;
313
+ this._qualityLevelsStore.set(levels);
314
+ this.emitter.emit(PlayerEvents.QualityLevelsUpdated, levels);
315
+ }
316
+ _updateQualityLevel(level, isAutoQuality) {
317
+ this._currentQualityLevel = level;
318
+ this._currentQualityLevelStore.set(level);
319
+ this._isAutoQuality = isAutoQuality;
320
+ this._isAutoQualityStore.set(isAutoQuality);
321
+ this.emitter.emit(PlayerEvents.QualityLevelSwitched, level, isAutoQuality);
322
+ }
323
+ _updateAudioTracks(audioTracks) {
324
+ this._audioTracks = audioTracks;
325
+ this._audioTracksStore.set(audioTracks);
326
+ this.emitter.emit(PlayerEvents.AudioTracksUpdated, audioTracks);
327
+ }
328
+ _updateCurrentAudioTrack(audioTrack) {
329
+ this._currentAudioTrack = audioTrack;
330
+ this._currentAudioTrackStore.set(audioTrack);
331
+ this.emitter.emit(PlayerEvents.AudioTrackSwitched, audioTrack);
332
+ }
333
+ attachEl(el) {
334
+ if (this.el === el) {
335
+ return;
336
+ }
337
+ if (this.el) {
338
+ this.detachEl();
339
+ }
340
+ this.el = el;
341
+ this._updatePaused(el.paused);
342
+ this._updateMuted(el.muted);
343
+ this._updateVolume(el.volume);
344
+ this._updateCurrentTime(el.currentTime);
345
+ this._updateDuration(el.duration);
346
+ this._updatePlaybackRate(el.playbackRate);
347
+ this._registerVideoEvents(el);
348
+ // Setup HLS.js loader
349
+ if (isHlsJsSupported()) {
350
+ // @ts-ignore
351
+ this.hlsLoader = new HLSLoader(this.emitter, this.el, {
352
+ progressive: true
353
+ });
354
+ }
355
+ }
356
+ detachEl() {
357
+ if (!this.el) {
358
+ return;
359
+ }
360
+ this._unregisterVideoElementEvents();
361
+ this.el = undefined;
362
+ this.hlsLoader?.stop();
363
+ this.hlsLoader = null;
364
+ }
230
365
  async load(params) {
231
366
  if (this.loadAbortController) {
232
367
  this.loadAbortController.abort('next loadPlaylistItem call');
@@ -269,6 +404,9 @@ export class VideoPlayer {
269
404
  });
270
405
  }
271
406
  async togglePlay() {
407
+ if (!this.el) {
408
+ throw Error('Player is not attached to media element');
409
+ }
272
410
  if (this.el.paused) {
273
411
  return this.play();
274
412
  }
@@ -276,14 +414,41 @@ export class VideoPlayer {
276
414
  return Promise.resolve();
277
415
  }
278
416
  async play() {
417
+ if (!this.el) {
418
+ throw Error('Player is not attached to media element');
419
+ }
279
420
  return this.el.play();
280
421
  }
281
422
  pause() {
423
+ if (!this.el) {
424
+ throw Error('Player is not attached to media element');
425
+ }
282
426
  this.el.pause();
283
427
  }
284
428
  seekTo(pos) {
429
+ if (!this.el) {
430
+ throw Error('Player is not attached to media element');
431
+ }
285
432
  this.el.currentTime = pos;
286
433
  }
434
+ setVolume(vol) {
435
+ if (!this.el) {
436
+ throw Error('Player is not attached to media element');
437
+ }
438
+ this.el.volume = vol;
439
+ }
440
+ setMuted(muted) {
441
+ if (!this.el) {
442
+ throw Error('Player is not attached to media element');
443
+ }
444
+ this.el.muted = muted;
445
+ }
446
+ toggleMute() {
447
+ if (!this.el) {
448
+ throw Error('Player is not attached to media element');
449
+ }
450
+ this.el.muted = !this.el.muted;
451
+ }
287
452
  setQualityLevel(id, graceful) {
288
453
  const found = this._qualityLevels.find((lvl) => lvl.id === id);
289
454
  if (!found) {
@@ -318,6 +483,12 @@ export class VideoPlayer {
318
483
  get qualityLevel() {
319
484
  return this._currentQualityLevel;
320
485
  }
486
+ get audioTracks() {
487
+ return this._audioTracks;
488
+ }
489
+ get audioTrack() {
490
+ return this._currentAudioTrack;
491
+ }
321
492
  get duration() {
322
493
  return this._duration;
323
494
  }
@@ -339,4 +510,43 @@ export class VideoPlayer {
339
510
  get muted() {
340
511
  return this._muted;
341
512
  }
513
+ get pausedStore() {
514
+ return readonly(this._pausedStore);
515
+ }
516
+ get isLoadingStore() {
517
+ return readonly(this._isLoadingStore);
518
+ }
519
+ get qualityLevelsStore() {
520
+ return readonly(this._qualityLevelsStore);
521
+ }
522
+ get isAutoQualityStore() {
523
+ return readonly(this._isAutoQualityStore);
524
+ }
525
+ get qualityLevelStore() {
526
+ return readonly(this._currentQualityLevelStore);
527
+ }
528
+ get audioTracksStore() {
529
+ return readonly(this._audioTracksStore);
530
+ }
531
+ get audioTrackStore() {
532
+ return readonly(this._currentAudioTrackStore);
533
+ }
534
+ get durationStore() {
535
+ return readonly(this._durationStore);
536
+ }
537
+ get currentTimeStore() {
538
+ return readonly(this._currentTimeStore);
539
+ }
540
+ get bufferedStore() {
541
+ return readonly(this._bufferedStore);
542
+ }
543
+ get playbackRateStore() {
544
+ return readonly(this._playbackRateStore);
545
+ }
546
+ get volumeStore() {
547
+ return readonly(this._volumeStore);
548
+ }
549
+ get mutedStore() {
550
+ return readonly(this._mutedStore);
551
+ }
342
552
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["VideoPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["VideoPlayer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from "./core/HLSLoader.js";
3
3
  export * from "./core/Playlist.js";
4
4
  export * from "./core/PlaylistPlayer.js";
5
5
  export * from "./core/QualityLevel.js";
6
+ export * from "./core/AudioTrack.js";
6
7
  export * from "./core/VideoPlayer.js";
7
8
  export * from "./ui/utils/duration.js";
8
9
  export * from "./ui/utils/slider.js";
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ export * from './core/Playlist.js';
6
6
  export * from './core/PlaylistPlayer.js';
7
7
 
8
8
  export * from './core/QualityLevel.js';
9
+ export * from './core/AudioTrack.js';
9
10
 
10
11
  export * from './core/VideoPlayer.js';
11
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codercms/web-player",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build && npm run package",