@npo/player 2.0.0-beta.0 → 2.0.0-beta.1
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/logErrorEvent-CJYrVUlC.js +21 -0
- package/dist/main-CmlOohv1.js +39047 -0
- package/dist/main.d.ts +145 -66
- package/dist/npoplayer-audio.es.js +16 -17
- package/dist/npoplayer-audio.umd.js +114 -53074
- package/package.json +1 -1
- package/dist/logErrorEvent-DbEp9rzx.js +0 -25
- package/dist/logErrorEvent-DbEp9rzx.js.map +0 -1
- package/dist/main-XvJyWo8j.js +0 -53061
- package/dist/main-XvJyWo8j.js.map +0 -1
- package/dist/npoplayer-audio.es.js.map +0 -1
- package/dist/npoplayer-audio.umd.js.map +0 -1
package/dist/main.d.ts
CHANGED
|
@@ -39,12 +39,6 @@ declare type AirPlayConnectionState = {
|
|
|
39
39
|
error?: string;
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
-
declare type AirPlayConnectionState_2 = {
|
|
43
|
-
available: boolean;
|
|
44
|
-
connected: boolean;
|
|
45
|
-
error?: string;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
42
|
declare class AirPlayService implements IAirPlayService {
|
|
49
43
|
private readonly player;
|
|
50
44
|
private readonly mediaEl;
|
|
@@ -65,12 +59,6 @@ declare type CastConnectionState = {
|
|
|
65
59
|
error?: string;
|
|
66
60
|
};
|
|
67
61
|
|
|
68
|
-
declare type CastConnectionState_2 = {
|
|
69
|
-
available: boolean;
|
|
70
|
-
connected: boolean;
|
|
71
|
-
error?: string;
|
|
72
|
-
};
|
|
73
|
-
|
|
74
62
|
declare type CastingData = {
|
|
75
63
|
source: string;
|
|
76
64
|
streamObject?: IStreamObject;
|
|
@@ -172,6 +160,11 @@ export declare const DRM_WIDEVINE = "widevine";
|
|
|
172
160
|
|
|
173
161
|
export declare type DRMType = typeof DRM_WIDEVINE | typeof DRM_PLAYREADY | typeof DRM_FAIRPLAY;
|
|
174
162
|
|
|
163
|
+
declare type EmitParams<T, K extends keyof T> = {
|
|
164
|
+
eventName: K;
|
|
165
|
+
value?: T[K];
|
|
166
|
+
};
|
|
167
|
+
|
|
175
168
|
declare type ErrorListener = (error: IPlayerError) => void;
|
|
176
169
|
|
|
177
170
|
declare class ErrorManager implements IErrorManager {
|
|
@@ -181,7 +174,10 @@ declare class ErrorManager implements IErrorManager {
|
|
|
181
174
|
private readonly resetListeners;
|
|
182
175
|
private readonly warningListeners;
|
|
183
176
|
private npoPlayerRef;
|
|
177
|
+
private debounceCleanup?;
|
|
178
|
+
private isDestroyed;
|
|
184
179
|
constructor(npoPlayer: NpoPlayer);
|
|
180
|
+
destroy(): void;
|
|
185
181
|
private attachGlobalErrorHandlers;
|
|
186
182
|
setNpoPlayerRef(npoPlayer: NpoPlayer): void;
|
|
187
183
|
onError(listener: ErrorListener): void;
|
|
@@ -392,8 +388,6 @@ export declare interface IPlayerApi {
|
|
|
392
388
|
getTextTracks(): TextTrackList;
|
|
393
389
|
getVariantTracks?(): Array<unknown>;
|
|
394
390
|
configure?(config: unknown): void;
|
|
395
|
-
getAvailableVideoQualities(): Array<VideoQuality>;
|
|
396
|
-
setVideoQuality(qualityValue: number, forced: boolean): void;
|
|
397
391
|
isPlayingAd?(): boolean;
|
|
398
392
|
getAdUiState?(): IAdUiState;
|
|
399
393
|
onAdEvent?(eventName: string, handler: (evt: any) => void): void;
|
|
@@ -417,6 +411,8 @@ export declare interface IPlayerApi {
|
|
|
417
411
|
airPlayService: IAirPlayService;
|
|
418
412
|
thumbnailService?: IThumbnailTrackService;
|
|
419
413
|
chapterSkipService?: IChapterSkipService;
|
|
414
|
+
streamTrackService?: IStreamTrackService;
|
|
415
|
+
mediaStateListeners?: () => void;
|
|
420
416
|
}
|
|
421
417
|
|
|
422
418
|
declare interface IPlayerContext {
|
|
@@ -498,38 +494,35 @@ declare interface IPlayerEventsMap {
|
|
|
498
494
|
[PlayerEventNames.ChapterExited]: {
|
|
499
495
|
action: ITimeBoundAction;
|
|
500
496
|
};
|
|
497
|
+
[PlayerEventNames.StreamTrackChanged]: Event;
|
|
501
498
|
}
|
|
502
499
|
|
|
503
|
-
declare interface
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
language: string;
|
|
511
|
-
mediaState: MediaStates;
|
|
512
|
-
muted: boolean;
|
|
513
|
-
playbackQuality: number;
|
|
514
|
-
playbackRate: number;
|
|
515
|
-
subtitleLanguage: string;
|
|
516
|
-
volume: number;
|
|
500
|
+
declare interface IPlayerLoad {
|
|
501
|
+
normalizedAvType?: MediaType;
|
|
502
|
+
avType?: string;
|
|
503
|
+
hasDvrWindow?: boolean;
|
|
504
|
+
isLiveStream?: boolean;
|
|
505
|
+
streamProfile?: string;
|
|
506
|
+
sourceProfile?: string;
|
|
517
507
|
}
|
|
518
508
|
|
|
519
|
-
declare interface
|
|
509
|
+
declare interface IPlayerState {
|
|
520
510
|
adActive: boolean;
|
|
521
511
|
adPaused: boolean;
|
|
522
|
-
airPlay:
|
|
523
|
-
|
|
512
|
+
airPlay: AirPlayConnectionState;
|
|
513
|
+
audioLanguage: string;
|
|
514
|
+
audioPlaybackQuality: number;
|
|
515
|
+
cast: CastConnectionState;
|
|
524
516
|
displayMode: DisplayModes;
|
|
525
517
|
forceUIVisible: boolean;
|
|
526
518
|
fullscreen: boolean;
|
|
527
519
|
language: string;
|
|
528
520
|
mediaState: MediaStates;
|
|
529
521
|
muted: boolean;
|
|
530
|
-
playbackQuality: number;
|
|
531
522
|
playbackRate: number;
|
|
532
523
|
subtitleLanguage: string;
|
|
524
|
+
useAudioDescription: boolean;
|
|
525
|
+
videoPlaybackQuality: number;
|
|
533
526
|
volume: number;
|
|
534
527
|
}
|
|
535
528
|
|
|
@@ -603,6 +596,14 @@ declare interface IStreamObjectStream {
|
|
|
603
596
|
hasDvrWindow?: boolean;
|
|
604
597
|
}
|
|
605
598
|
|
|
599
|
+
declare interface IStreamTrackService {
|
|
600
|
+
currentTrack: StreamTrack | undefined;
|
|
601
|
+
getAvailableVideoTracks(): StreamTrack[];
|
|
602
|
+
getAudioTracksByVideoQuality(qualityValue: number): StreamTrack[];
|
|
603
|
+
getAudioOnlyTracks(): StreamTrack[];
|
|
604
|
+
setTrack(track: StreamTrack, forced: boolean): void;
|
|
605
|
+
}
|
|
606
|
+
|
|
606
607
|
declare interface ISubtitle {
|
|
607
608
|
iso: string;
|
|
608
609
|
location: string;
|
|
@@ -650,14 +651,16 @@ declare type KeyCombo_2 = {
|
|
|
650
651
|
meta?: boolean;
|
|
651
652
|
};
|
|
652
653
|
|
|
653
|
-
declare type Listener = (
|
|
654
|
+
declare type Listener<T> = (event: CustomEvent<T>) => void;
|
|
655
|
+
|
|
656
|
+
declare type Listener_2 = (...args: any[]) => void;
|
|
654
657
|
|
|
655
658
|
declare class LogEmitter {
|
|
656
|
-
private listeners;
|
|
659
|
+
private readonly listeners;
|
|
657
660
|
emit(event: LogEventType, ...args: any[]): boolean;
|
|
658
|
-
on(event: LogEventType, listener:
|
|
659
|
-
once(event: LogEventType, listener:
|
|
660
|
-
off(event: LogEventType, listener:
|
|
661
|
+
on(event: LogEventType, listener: Listener_2): this;
|
|
662
|
+
once(event: LogEventType, listener: Listener_2): this;
|
|
663
|
+
off(event: LogEventType, listener: Listener_2): this;
|
|
661
664
|
}
|
|
662
665
|
|
|
663
666
|
export declare enum LogEventType {
|
|
@@ -688,7 +691,8 @@ export declare enum MediaType {
|
|
|
688
691
|
export declare enum Modes {
|
|
689
692
|
VOD = "vod",
|
|
690
693
|
LIVE = "live",
|
|
691
|
-
LIVE_NO_DVR = "live-no-dvr"
|
|
694
|
+
LIVE_NO_DVR = "live-no-dvr",
|
|
695
|
+
NONE = "none"
|
|
692
696
|
}
|
|
693
697
|
|
|
694
698
|
export declare class NpoAudioPlayer extends NpoPlayerCore {
|
|
@@ -717,14 +721,14 @@ declare type NpoPlayerConfig = {
|
|
|
717
721
|
|
|
718
722
|
declare abstract class NpoPlayerCore {
|
|
719
723
|
player: PlayerApi;
|
|
724
|
+
uiFactory?: INpoAudioPlayerUIFactory | INpoVideoPlayerUIFactory;
|
|
725
|
+
errorManager: ErrorManager;
|
|
720
726
|
readonly version: string;
|
|
721
727
|
readonly container: HTMLElement;
|
|
722
728
|
readonly npoTagProps?: NpoTagProperties;
|
|
723
729
|
readonly logEmitter?: LogEmitter;
|
|
724
730
|
readonly playerConfig: NpoPlayerConfig;
|
|
725
|
-
readonly uiFactory?: INpoAudioPlayerUIFactory | INpoVideoPlayerUIFactory;
|
|
726
731
|
readonly settingsStore: SettingsStore;
|
|
727
|
-
readonly errorManager: ErrorManager;
|
|
728
732
|
protected inputHandler: InputHandler;
|
|
729
733
|
protected playerContext?: IPlayerContext;
|
|
730
734
|
streamOptions: StreamOptions;
|
|
@@ -741,6 +745,8 @@ declare abstract class NpoPlayerCore {
|
|
|
741
745
|
load(newSource: string, streamOptions?: StreamOptions): Promise<void>;
|
|
742
746
|
play(): Promise<void>;
|
|
743
747
|
pause(): void;
|
|
748
|
+
unload(): Promise<void>;
|
|
749
|
+
destroy(): Promise<void>;
|
|
744
750
|
seek(timestamp: number): void;
|
|
745
751
|
getCurrentTime(): number;
|
|
746
752
|
mute(): void;
|
|
@@ -759,7 +765,7 @@ declare abstract class NpoPlayerCore {
|
|
|
759
765
|
end: number;
|
|
760
766
|
};
|
|
761
767
|
seekToLiveEdge(): void;
|
|
762
|
-
getAvailableVideoQualities(): Array<
|
|
768
|
+
getAvailableVideoQualities(): Array<StreamTrack>;
|
|
763
769
|
setVideoQuality(qualityValue: number): void;
|
|
764
770
|
on(eventName: string, handler: EventHandler): void;
|
|
765
771
|
off(eventName: string, handler: EventHandler): void;
|
|
@@ -866,27 +872,30 @@ declare class PlayerApi implements IPlayerApi {
|
|
|
866
872
|
castService: CastService;
|
|
867
873
|
advertService: AdvertService;
|
|
868
874
|
readonly playerId: string;
|
|
869
|
-
readonly playerEvents:
|
|
870
|
-
state:
|
|
875
|
+
readonly playerEvents: PlayerEventEmitter<IPlayerEventsMap>;
|
|
876
|
+
state: IPlayerState;
|
|
871
877
|
uiEvents: any;
|
|
878
|
+
readonly mediaStateListeners: () => void;
|
|
872
879
|
thumbnailService: ThumbnailTrackService;
|
|
873
880
|
timeBoundActionsService: TimeBoundActionsService;
|
|
874
881
|
chapterSkipService: ChapterSkipService;
|
|
875
882
|
subtitlesService: SubtitlesService;
|
|
883
|
+
readonly streamTrackService: StreamTrackService;
|
|
876
884
|
readonly playerConfig: NpoPlayerConfig;
|
|
877
885
|
readonly container: HTMLElement;
|
|
878
|
-
private _player;
|
|
879
|
-
private streamAvType;
|
|
880
|
-
get player(): default_2.Player;
|
|
881
886
|
readonly settingsStore: SettingsStore;
|
|
882
887
|
private displayModeHandler;
|
|
883
|
-
private readonly canNotSeekDuringAdLabel;
|
|
884
888
|
private isInitialized;
|
|
889
|
+
private _player;
|
|
890
|
+
private currentStreamMode;
|
|
891
|
+
private streamLoadingData?;
|
|
892
|
+
private readonly mediaEventListeners;
|
|
893
|
+
get player(): default_2.Player;
|
|
885
894
|
constructor(container: HTMLElement, playerConfig: NpoPlayerConfig);
|
|
886
895
|
destroy(): void;
|
|
887
896
|
initialize(): Promise<void>;
|
|
888
897
|
getPlayerContainer(): HTMLElement;
|
|
889
|
-
load(source: string,
|
|
898
|
+
load(source: string, streamLoadingData?: IPlayerLoad): Promise<void>;
|
|
890
899
|
unload(): Promise<void>;
|
|
891
900
|
play(): Promise<void>;
|
|
892
901
|
pause(): void;
|
|
@@ -924,9 +933,6 @@ declare class PlayerApi implements IPlayerApi {
|
|
|
924
933
|
getSelectedTextTrack(): TextTrack | undefined;
|
|
925
934
|
removeAllTextTracks(): void;
|
|
926
935
|
getTextTracks(): TextTrackList;
|
|
927
|
-
getVariantTracks(): Array<default_2.extern.VariantTrack>;
|
|
928
|
-
getAvailableVideoQualities(): Array<VideoQuality>;
|
|
929
|
-
setVideoQuality(qualityValue: number, forced?: boolean): void;
|
|
930
936
|
isFullscreenPossible(): boolean;
|
|
931
937
|
enterFullscreen(): void;
|
|
932
938
|
exitFullscreen(): void;
|
|
@@ -935,10 +941,12 @@ declare class PlayerApi implements IPlayerApi {
|
|
|
935
941
|
enterPip(): Promise<void>;
|
|
936
942
|
exitPip(): Promise<void>;
|
|
937
943
|
configure(config: default_2.extern.PlayerConfiguration): void;
|
|
938
|
-
private
|
|
939
|
-
private
|
|
940
|
-
private
|
|
941
|
-
private
|
|
944
|
+
private applyPersistedSettings;
|
|
945
|
+
private setupPlaybackRateHandler;
|
|
946
|
+
private initAirPlayService;
|
|
947
|
+
private forwardAllMediaEvents;
|
|
948
|
+
private createMediaEventForwardingHandler;
|
|
949
|
+
private readonly onLoadedMetadata;
|
|
942
950
|
private toPlayerEventName;
|
|
943
951
|
on(eventName: string, handler: EventHandler): void;
|
|
944
952
|
off(eventName: string, handler: EventHandler): void;
|
|
@@ -951,6 +959,31 @@ declare class PlayerApi implements IPlayerApi {
|
|
|
951
959
|
setAdClickElement(adClickElement: HTMLElement): void;
|
|
952
960
|
getAdUiState(): IAdUiState_2 | undefined;
|
|
953
961
|
getMode(): Modes;
|
|
962
|
+
private determineStreamMode;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
declare class PlayerEventEmitter<T extends Record<string, any>> implements EventTarget {
|
|
966
|
+
readonly playerId?: string;
|
|
967
|
+
private readonly eventTarget;
|
|
968
|
+
private _allListeners;
|
|
969
|
+
constructor(playerId?: string);
|
|
970
|
+
emit<K extends keyof T>(params: EmitParams<T, K>): void;
|
|
971
|
+
on<K extends keyof T>(params: {
|
|
972
|
+
eventName: K;
|
|
973
|
+
listener: Listener<T[K]>;
|
|
974
|
+
}): void;
|
|
975
|
+
off<K extends keyof T>(params: {
|
|
976
|
+
eventName: K;
|
|
977
|
+
listener: Listener<T[K]>;
|
|
978
|
+
}): void;
|
|
979
|
+
once<K extends keyof T>(params: {
|
|
980
|
+
eventName: K;
|
|
981
|
+
listener: Listener<T[K]>;
|
|
982
|
+
}): void;
|
|
983
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject | null): void;
|
|
984
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject | null): void;
|
|
985
|
+
dispatchEvent(event: Event): boolean;
|
|
986
|
+
removeAllListeners(): void;
|
|
954
987
|
}
|
|
955
988
|
|
|
956
989
|
export declare enum PlayerEventNames {
|
|
@@ -989,7 +1022,8 @@ export declare enum PlayerEventNames {
|
|
|
989
1022
|
TimeBoundActionTriggered = "time-bound-action-triggered",
|
|
990
1023
|
TimeBoundActionExited = "time-bound-action-exited",
|
|
991
1024
|
ChapterEntered = "chapter-entered",
|
|
992
|
-
ChapterExited = "chapter-exited"
|
|
1025
|
+
ChapterExited = "chapter-exited",
|
|
1026
|
+
StreamTrackChanged = "stream-track-changed"
|
|
993
1027
|
}
|
|
994
1028
|
|
|
995
1029
|
export declare type PlayNext = {
|
|
@@ -1046,6 +1080,57 @@ export declare type StreamOptions = {
|
|
|
1046
1080
|
backButtonCallback?: () => void;
|
|
1047
1081
|
};
|
|
1048
1082
|
|
|
1083
|
+
declare type StreamTrack = {
|
|
1084
|
+
id: number;
|
|
1085
|
+
streamTrackId: number;
|
|
1086
|
+
label: string;
|
|
1087
|
+
value: number;
|
|
1088
|
+
width?: number;
|
|
1089
|
+
height?: number;
|
|
1090
|
+
bandwidth?: number;
|
|
1091
|
+
originalTrack?: any;
|
|
1092
|
+
language?: string;
|
|
1093
|
+
isAudioOnly: boolean;
|
|
1094
|
+
isAudioDescription: boolean;
|
|
1095
|
+
playlistUrl?: string;
|
|
1096
|
+
};
|
|
1097
|
+
|
|
1098
|
+
declare class StreamTrackService implements IStreamTrackService {
|
|
1099
|
+
private readonly player;
|
|
1100
|
+
private readonly hlsManifestParser;
|
|
1101
|
+
private manifestTracks;
|
|
1102
|
+
private currentManifestUri;
|
|
1103
|
+
private _currentTrack;
|
|
1104
|
+
get currentTrack(): StreamTrack | undefined;
|
|
1105
|
+
readonly idAutoTrack = -1;
|
|
1106
|
+
constructor(player: PlayerApi);
|
|
1107
|
+
isManifestTrackAvailable(): boolean;
|
|
1108
|
+
reset(): void;
|
|
1109
|
+
private getShakaPlayer;
|
|
1110
|
+
getVariantTracks(): Array<default_2.extern.VariantTrack>;
|
|
1111
|
+
getAudioTracks(): Array<default_2.extern.AudioTrack>;
|
|
1112
|
+
getVideoTracks(): Array<default_2.extern.VideoTrack>;
|
|
1113
|
+
isAudioOnly(): boolean;
|
|
1114
|
+
getAvailableVideoTracks(): Array<StreamTrack>;
|
|
1115
|
+
getAudioTracksByVideoQuality(qualityValue: number): StreamTrack[];
|
|
1116
|
+
getAudioOnlyTracks(): StreamTrack[];
|
|
1117
|
+
init(): void;
|
|
1118
|
+
setTrack(track: StreamTrack, forced: boolean): void;
|
|
1119
|
+
setVideoTrackByQuality(qualityValue: number): void;
|
|
1120
|
+
getAlternateStreamURLForSafari(): string | undefined;
|
|
1121
|
+
parseManifestForTracks(manifestUri: string): Promise<void>;
|
|
1122
|
+
private mapVariantTracksToStreamTracks;
|
|
1123
|
+
private addAutoRow;
|
|
1124
|
+
private loadQualityDirect;
|
|
1125
|
+
private loadAndResume;
|
|
1126
|
+
private updatePlayerState;
|
|
1127
|
+
private getVideoTracksFromManifest;
|
|
1128
|
+
private setStreamTrack;
|
|
1129
|
+
private setPlayerQualityState;
|
|
1130
|
+
private getActiveTrack;
|
|
1131
|
+
private hasChoiceOfTrack;
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1049
1134
|
declare class SubtitlesService {
|
|
1050
1135
|
private readonly player;
|
|
1051
1136
|
private _isAudioOnly?;
|
|
@@ -1131,6 +1216,10 @@ declare class TimeBoundActionsService implements ITimeBoundActionsService {
|
|
|
1131
1216
|
private isEvaluatingActions;
|
|
1132
1217
|
private pendingEvaluateActions;
|
|
1133
1218
|
private evaluateActions;
|
|
1219
|
+
private getNowActiveActions;
|
|
1220
|
+
private processNewActions;
|
|
1221
|
+
private processExitedActions;
|
|
1222
|
+
private handlePendingEvaluation;
|
|
1134
1223
|
private detectAndSetStreamStartEpoch;
|
|
1135
1224
|
private convertToPlayerTime;
|
|
1136
1225
|
private isPointInTimeAction;
|
|
@@ -1148,16 +1237,6 @@ export declare enum TimeBoundActionType {
|
|
|
1148
1237
|
PLAY_NEXT = "play-next"
|
|
1149
1238
|
}
|
|
1150
1239
|
|
|
1151
|
-
declare type VideoQuality = {
|
|
1152
|
-
id: number;
|
|
1153
|
-
label: string;
|
|
1154
|
-
value: number;
|
|
1155
|
-
width?: number;
|
|
1156
|
-
height?: number;
|
|
1157
|
-
bandwidth?: number;
|
|
1158
|
-
videoTrack: any;
|
|
1159
|
-
};
|
|
1160
|
-
|
|
1161
1240
|
declare type WarningListener = (warning: IPlayerError) => void;
|
|
1162
1241
|
|
|
1163
1242
|
export { }
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { g, f, D, L, e, d, b, M, N, a, P, h, i, T, a as
|
|
1
|
+
import { g as s, f as o, D as d, L as M, e as P, d as i, b as p, M as r, N as t, a as y, P as A, h as D, i as E, T as L, a as R } from "./main-CmlOohv1.js";
|
|
2
2
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
3
|
+
s as DRM_FAIRPLAY,
|
|
4
|
+
o as DRM_PLAYREADY,
|
|
5
|
+
d as DRM_WIDEVINE,
|
|
6
|
+
M as LogEventType,
|
|
7
|
+
P as MarkerTypes,
|
|
8
|
+
i as MediaStates,
|
|
9
|
+
p as MediaType,
|
|
10
|
+
r as Modes,
|
|
11
|
+
t as NpoAudioPlayer,
|
|
12
|
+
y as NpoVideoPlayer,
|
|
13
|
+
A as PROFILE_DASH,
|
|
14
|
+
D as PROFILE_HLS,
|
|
15
|
+
E as PlayerEventNames,
|
|
16
|
+
L as TimeBoundActionType,
|
|
17
|
+
R as default
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=npoplayer-audio.es.js.map
|