@npo/player 1.9.3 → 1.10.0
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/lib/js/api/getstreamobject.js +1 -2
- package/lib/js/api/getstreamobject.js.map +1 -1
- package/lib/js/fragments/setfragments.d.ts +3 -2
- package/lib/js/fragments/setfragments.js +6 -7
- package/lib/js/fragments/setfragments.js.map +1 -1
- package/lib/js/playeractions/handlers/error.js.map +1 -1
- package/lib/js/playeractions/handlers/processplayerconfig.d.ts +11 -0
- package/lib/js/playeractions/handlers/processplayerconfig.js +40 -0
- package/lib/js/playeractions/handlers/processplayerconfig.js.map +1 -0
- package/lib/js/playeractions/playeractions.d.ts +1 -0
- package/lib/js/playeractions/playeractions.js +1 -0
- package/lib/js/playeractions/playeractions.js.map +1 -1
- package/lib/js/ui/components/controlbar.d.ts +1 -1
- package/lib/js/ui/components/controlbar.js +19 -8
- package/lib/js/ui/components/controlbar.js.map +1 -1
- package/lib/js/ui/components/ctabar.js.map +1 -1
- package/lib/js/ui/components/nativemobile/addFragments.d.ts +1 -0
- package/lib/js/ui/components/nativemobile/addFragments.js +8 -0
- package/lib/js/ui/components/nativemobile/addFragments.js.map +1 -0
- package/lib/js/ui/components/nativemobile/buttons.js +1 -1
- package/lib/js/ui/components/nativemobile/buttons.js.map +1 -1
- package/lib/js/ui/components/nativemobile/controlbar.d.ts +2 -1
- package/lib/js/ui/components/nativemobile/controlbar.js +33 -4
- package/lib/js/ui/components/nativemobile/controlbar.js.map +1 -1
- package/lib/js/ui/components/nativemobile/titlebar.d.ts +2 -0
- package/lib/js/ui/components/nativemobile/titlebar.js +8 -0
- package/lib/js/ui/components/nativemobile/titlebar.js.map +1 -0
- package/lib/js/ui/components/topbar.js +5 -2
- package/lib/js/ui/components/topbar.js.map +1 -1
- package/lib/js/ui/handlers/listboxhandlers.js +9 -9
- package/lib/js/ui/handlers/listboxhandlers.js.map +1 -1
- package/lib/js/ui/handlers/nicamhandler.d.ts +1 -1
- package/lib/js/ui/handlers/nicamhandler.js +4 -4
- package/lib/js/ui/handlers/nicamhandler.js.map +1 -1
- package/lib/js/ui/{nativemobileui.js → nativemobileuicontainer.js} +6 -7
- package/lib/js/ui/nativemobileuicontainer.js.map +1 -0
- package/lib/js/ui/nativemobileuifactory.d.ts +3 -0
- package/lib/js/ui/nativemobileuifactory.js +43 -0
- package/lib/js/ui/nativemobileuifactory.js.map +1 -0
- package/lib/js/ui/uicontainer.js +4 -7
- package/lib/js/ui/uicontainer.js.map +1 -1
- package/lib/js/utilities/utilities.js +0 -1
- package/lib/js/utilities/utilities.js.map +1 -1
- package/lib/npoplayer.d.ts +1 -1
- package/lib/npoplayer.js +26 -42
- package/lib/npoplayer.js.map +1 -1
- package/lib/package.json +19 -10
- package/lib/src/js/fragments/setfragments.d.ts +3 -2
- package/lib/src/js/playeractions/handlers/processplayerconfig.d.ts +11 -0
- package/lib/src/js/playeractions/playeractions.d.ts +1 -0
- package/lib/src/js/ui/components/controlbar.d.ts +1 -1
- package/lib/src/js/ui/components/nativemobile/addFragments.d.ts +1 -0
- package/lib/src/js/ui/components/nativemobile/controlbar.d.ts +2 -1
- package/lib/src/js/ui/components/nativemobile/titlebar.d.ts +2 -0
- package/lib/src/js/ui/handlers/nicamhandler.d.ts +1 -1
- package/lib/src/js/ui/nativemobileuifactory.d.ts +3 -0
- package/lib/src/npoplayer.d.ts +1 -1
- package/lib/src/types/interfaces.d.ts +2 -1
- package/lib/types/interfaces.d.ts +2 -1
- package/lib/types/interfaces.js.map +1 -1
- package/package.json +19 -10
- package/src/scss/components/_advert.scss +28 -31
- package/src/scss/components/_buffering.scss +35 -4
- package/src/scss/components/_controlbars.scss +5 -15
- package/src/scss/components/_error.scss +6 -4
- package/src/scss/components/_hugeplaybacktogglebutton.scss +71 -0
- package/src/scss/components/_icons.scss +53 -154
- package/src/scss/components/_metadata.scss +22 -0
- package/src/scss/components/_nicam.scss +2 -1
- package/src/scss/components/_playnext.scss +1 -1
- package/src/scss/components/_replay.scss +35 -0
- package/src/scss/components/_seekbar.scss +51 -76
- package/src/scss/components/_seekbarthumbnail.scss +56 -0
- package/src/scss/components/_settingspanel.scss +47 -54
- package/src/scss/components/_textbuttons.scss +1 -1
- package/src/scss/components/_volumeslider.scss +78 -13
- package/src/scss/npoplayer.css +2 -1237
- package/src/scss/npoplayer.scss +7 -3
- package/src/scss/variants/_player-base.scss +10 -36
- package/src/scss/variants/_player-debug.scss +14 -0
- package/src/scss/variants/_player-large.scss +18 -40
- package/src/scss/variants/_player-medium.scss +11 -43
- package/src/scss/variants/_player-native-mobile.scss +5 -0
- package/src/scss/variants/_player-small.scss +36 -197
- package/src/scss/vars/_colors.scss +7 -12
- package/src/scss/vars/_fonts.scss +2 -2
- package/src/scss/vars/_icons.scss +21 -33
- package/lib/js/ui/nativemobileui.js.map +0 -1
- package/src/scss/components/_container.scss +0 -8
- package/src/scss/components/_fonts.scss +0 -19
- /package/lib/js/ui/{nativemobileui.d.ts → nativemobileuicontainer.d.ts} +0 -0
- /package/lib/src/js/ui/{nativemobileui.d.ts → nativemobileuicontainer.d.ts} +0 -0
|
@@ -11,8 +11,7 @@ export async function getStreamObject(npoplayer, payload) {
|
|
|
11
11
|
});
|
|
12
12
|
const streamApiResponse = await response.json();
|
|
13
13
|
if (!response.ok) {
|
|
14
|
-
npoplayer.doError(
|
|
15
|
-
streamApiResponse.body);
|
|
14
|
+
npoplayer.doError(`Het is niet gelukt de stream op te halen: \n ${streamApiResponse.body}`, streamApiResponse.status);
|
|
16
15
|
}
|
|
17
16
|
return streamApiResponse;
|
|
18
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getstreamobject.js","sourceRoot":"","sources":["../../../../src/js/api/getstreamobject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,SAAoB,EAAE,OAAmB;IAC5E,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,cAAc,EACjD;QACI,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KACrC,CACJ,CAAA;IAED,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAE/C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QACd,SAAS,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"getstreamobject.js","sourceRoot":"","sources":["../../../../src/js/api/getstreamobject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,SAAoB,EAAE,OAAmB;IAC5E,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,cAAc,EACjD;QACI,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KACrC,CACJ,CAAA;IAED,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAE/C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QACd,SAAS,CAAC,OAAO,CAAC,gDAAgD,iBAAiB,CAAC,IAAI,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;KACxH;IAED,OAAO,iBAAiB,CAAA;AAC5B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { PlayerAPI } from 'bitmovin-player';
|
|
2
2
|
import { type Fragments } from '../../types/interfaces';
|
|
3
|
-
|
|
3
|
+
import { UIManager } from 'bitmovin-player-ui';
|
|
4
|
+
export declare function setFragments(player: PlayerAPI, uiManager: UIManager, fragments: Fragments): Promise<void>;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { PlayerEvent } from 'bitmovin-player';
|
|
2
|
-
export async function setFragments(
|
|
3
|
-
const uiManager = npoplayer.uiManager;
|
|
4
|
-
const player = npoplayer.player;
|
|
2
|
+
export async function setFragments(player, uiManager, fragments) {
|
|
5
3
|
const fragment = fragments.sections[0];
|
|
6
4
|
const playFragmentFromStart = () => {
|
|
7
5
|
player?.seek(fragment.start);
|
|
@@ -19,7 +17,7 @@ export async function setFragments(npoplayer, fragments) {
|
|
|
19
17
|
{
|
|
20
18
|
time: fragment.start,
|
|
21
19
|
duration: fragment.end - fragment.start,
|
|
22
|
-
title:
|
|
20
|
+
title: fragment.title,
|
|
23
21
|
cssClasses: ['seekbar-marker-interval']
|
|
24
22
|
},
|
|
25
23
|
{
|
|
@@ -53,9 +51,10 @@ export async function setFragments(npoplayer, fragments) {
|
|
|
53
51
|
const seekFunction = (e) => {
|
|
54
52
|
if (fragment == null)
|
|
55
53
|
return;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
// web ui and js bridge have different types
|
|
55
|
+
const seekTarget = e.seekTarget ? e.seekTarget : e.to.time;
|
|
56
|
+
if (seekTarget > fragment.end || seekTarget < fragment.start) {
|
|
57
|
+
player?.seek(Math.max(fragment.start, Math.min(fragment.end, seekTarget)));
|
|
59
58
|
}
|
|
60
59
|
};
|
|
61
60
|
player?.off(PlayerEvent.TimeChanged, checkFunction);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setfragments.js","sourceRoot":"","sources":["../../../../src/js/fragments/setfragments.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"setfragments.js","sourceRoot":"","sources":["../../../../src/js/fragments/setfragments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../src/js/playeractions/handlers/error.ts"],"names":[],"mappings":"AAGA;;;;;;;EAOE;AAEF,MAAM,UAAU,iBAAiB,CAC7B,MAAiB,EACjB,YAA0B,EAC1B,KAAU;IAEV,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,GAAG,KAAK,CAAC;KACnB;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../src/js/playeractions/handlers/error.ts"],"names":[],"mappings":"AAGA;;;;;;;EAOE;AAEF,MAAM,UAAU,iBAAiB,CAC7B,MAAiB,EACjB,YAA0B,EAC1B,KAAU;IAEV,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,GAAG,KAAK,CAAC;KACnB;IAED,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,IAAI,YAAY,CAAC,UAAU;QAAE,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAE5D,IAAI,YAAY,CAAC,mBAAmB,IAAI,IAAI;QAAE,OAAO;IACrD,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IACvC,YAAY,CAAC,mBAA2B,CAAC,UAAU,CAAC,OAAO,CACxD,OAAO,IAAI,kCAAkC,CAChD,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @function processPlayerConfig
|
|
3
|
+
* @description This function is called by the NpoPlayer constructor to enrich the player configuration object
|
|
4
|
+
* with default values where none were set by the user.
|
|
5
|
+
* @param {NpoPlayer} npoplayer - The NpoPlayer instance
|
|
6
|
+
* @param {PlayerConfig} playerConfig - The player configuration object that was created by the user
|
|
7
|
+
* @returns The processed player configuration object
|
|
8
|
+
*/
|
|
9
|
+
import { type PlayerConfig } from "bitmovin-player";
|
|
10
|
+
import NpoPlayer from "npoplayer";
|
|
11
|
+
export declare function processPlayerConfig(npoplayer: NpoPlayer, playerConfig: PlayerConfig): PlayerConfig;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @function processPlayerConfig
|
|
3
|
+
* @description This function is called by the NpoPlayer constructor to enrich the player configuration object
|
|
4
|
+
* with default values where none were set by the user.
|
|
5
|
+
* @param {NpoPlayer} npoplayer - The NpoPlayer instance
|
|
6
|
+
* @param {PlayerConfig} playerConfig - The player configuration object that was created by the user
|
|
7
|
+
* @returns The processed player configuration object
|
|
8
|
+
*/
|
|
9
|
+
import { LogLevel } from "bitmovin-player";
|
|
10
|
+
import { isSafari } from '../../checks/safari';
|
|
11
|
+
export function processPlayerConfig(npoplayer, playerConfig) {
|
|
12
|
+
let processedConfig = playerConfig;
|
|
13
|
+
if (isSafari(npoplayer.isFairPlayDrmSupported())) {
|
|
14
|
+
// Disable autoplay on safari
|
|
15
|
+
processedConfig.playback = {
|
|
16
|
+
autoplay: false
|
|
17
|
+
};
|
|
18
|
+
// Potential fix for DRM issues on safari
|
|
19
|
+
processedConfig.tweaks = {
|
|
20
|
+
fairplay_ignore_duplicate_init_data_key_errors: true
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
processedConfig.ui = false;
|
|
24
|
+
// Chromecast configuration
|
|
25
|
+
if (!processedConfig.remotecontrol)
|
|
26
|
+
processedConfig.remotecontrol = {
|
|
27
|
+
type: 'googlecast',
|
|
28
|
+
receiverApplicationId: 'CC38EB17',
|
|
29
|
+
receiverVersion: 'v3',
|
|
30
|
+
messageNamespace: 'urn:x-cast:com.bitmovin.player.caf'
|
|
31
|
+
};
|
|
32
|
+
if (!processedConfig.logs)
|
|
33
|
+
processedConfig.logs = {
|
|
34
|
+
level: LogLevel.ERROR
|
|
35
|
+
};
|
|
36
|
+
//creating this node enables the PlayerAdvertisingAPI
|
|
37
|
+
processedConfig.advertising = {};
|
|
38
|
+
return processedConfig;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=processplayerconfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processplayerconfig.js","sourceRoot":"","sources":["../../../../../src/js/playeractions/handlers/processplayerconfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAqB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,UAAU,mBAAmB,CAAC,SAAmB,EAAE,YAAyB;IAE9E,IAAI,eAAe,GAAG,YAAY,CAAA;IAElC,IAAI,QAAQ,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,EAAE;QAC9C,6BAA6B;QAC7B,eAAe,CAAC,QAAQ,GAAG;YACvB,QAAQ,EAAE,KAAK;SAClB,CAAA;QAED,yCAAyC;QACzC,eAAe,CAAC,MAAM,GAAG;YACrB,8CAA8C,EAAE,IAAI;SACvD,CAAA;KACJ;IAED,eAAe,CAAC,EAAE,GAAG,KAAK,CAAA;IAE1B,2BAA2B;IAC3B,IAAG,CAAC,eAAe,CAAC,aAAa;QAAE,eAAe,CAAC,aAAa,GAAG;YAC/D,IAAI,EAAE,YAAY;YAClB,qBAAqB,EAAE,UAAU;YACjC,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,oCAAoC;SACzD,CAAA;IAED,IAAG,CAAC,eAAe,CAAC,IAAI;QAAE,eAAe,CAAC,IAAI,GAAG;YAC7C,KAAK,EAAE,QAAQ,CAAC,KAAK;SACxB,CAAA;IAED,qDAAqD;IACrD,eAAe,CAAC,WAAW,GAAG,EAAE,CAAA;IAEhC,OAAO,eAAe,CAAA;AAC1B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { resolveKeyPress } from "./handlers/resolvekeypress";
|
|
2
2
|
export { handleStartOffset, handleLiveOffsetLogic, shiftToProgramStart } from "./handlers/handleoffsets";
|
|
3
3
|
export { handlePlayerError } from "./handlers/error";
|
|
4
|
+
export { processPlayerConfig } from "./handlers/processplayerconfig";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { resolveKeyPress } from "./handlers/resolvekeypress";
|
|
2
2
|
export { handleStartOffset, handleLiveOffsetLogic, shiftToProgramStart } from "./handlers/handleoffsets";
|
|
3
3
|
export { handlePlayerError } from "./handlers/error";
|
|
4
|
+
export { processPlayerConfig } from "./handlers/processplayerconfig";
|
|
4
5
|
//# sourceMappingURL=playeractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playeractions.js","sourceRoot":"","sources":["../../../../src/js/playeractions/playeractions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"playeractions.js","sourceRoot":"","sources":["../../../../src/js/playeractions/playeractions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ControlBar, type SettingsPanel } from 'bitmovin-player-ui';
|
|
2
2
|
import type NpoPlayer from '../../../npoplayer';
|
|
3
|
-
export declare function createControlBar(npoplayer: NpoPlayer, settingsPanel: SettingsPanel
|
|
3
|
+
export declare function createControlBar(npoplayer: NpoPlayer, settingsPanel: SettingsPanel): ControlBar;
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { ControlBar, Container, PlaybackTimeLabel, PlaybackTimeLabelMode, SeekBar, SeekBarLabel, PlaybackToggleButton, VolumeToggleButton, VolumeSlider, Spacer, PictureInPictureToggleButton, AirPlayToggleButton, CastToggleButton, SettingsToggleButton, FullscreenToggleButton } from 'bitmovin-player-ui';
|
|
2
2
|
import { airPlaySupported } from '../../../js/utilities/utilities';
|
|
3
|
-
|
|
3
|
+
import { PlayerEvent } from 'bitmovin-player';
|
|
4
|
+
import { createForwardButton, createRewindButton } from './buttons';
|
|
5
|
+
export function createControlBar(npoplayer, settingsPanel) {
|
|
6
|
+
const player = npoplayer.player;
|
|
7
|
+
const rewindButton = createRewindButton(player);
|
|
8
|
+
const forwardButton = createForwardButton(player);
|
|
4
9
|
const seekBar = new SeekBar({ label: new SeekBarLabel() });
|
|
5
10
|
npoplayer.uiComponents.seekBar = seekBar;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
11
|
+
const chromeCastButton = new CastToggleButton({
|
|
12
|
+
hidden: true
|
|
13
|
+
});
|
|
14
|
+
npoplayer.player?.on(PlayerEvent.CastAvailable, () => {
|
|
15
|
+
if (npoplayer.player?.isCastAvailable())
|
|
16
|
+
chromeCastButton.show();
|
|
17
|
+
});
|
|
9
18
|
const controlbar = new ControlBar({
|
|
10
19
|
components: [
|
|
11
20
|
settingsPanel,
|
|
@@ -13,12 +22,13 @@ export function createControlBar(npoplayer, settingsPanel, forwardButton, rewind
|
|
|
13
22
|
components: [
|
|
14
23
|
new PlaybackTimeLabel({
|
|
15
24
|
timeLabelMode: PlaybackTimeLabelMode.CurrentTime,
|
|
16
|
-
hideInLivePlayback: true
|
|
25
|
+
hideInLivePlayback: true,
|
|
26
|
+
cssClasses: ['current-time']
|
|
17
27
|
}),
|
|
18
28
|
seekBar,
|
|
19
29
|
new PlaybackTimeLabel({
|
|
20
30
|
timeLabelMode: PlaybackTimeLabelMode.TotalTime,
|
|
21
|
-
cssClasses: ['
|
|
31
|
+
cssClasses: ['total-time']
|
|
22
32
|
})
|
|
23
33
|
],
|
|
24
34
|
cssClasses: ['controlbar-top']
|
|
@@ -33,13 +43,14 @@ export function createControlBar(npoplayer, settingsPanel, forwardButton, rewind
|
|
|
33
43
|
new Spacer(),
|
|
34
44
|
...(document.pictureInPictureEnabled && /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ? [new PictureInPictureToggleButton()] : []),
|
|
35
45
|
...(airPlaySupported() ? [new AirPlayToggleButton()] : []),
|
|
36
|
-
|
|
46
|
+
chromeCastButton,
|
|
37
47
|
new SettingsToggleButton({ settingsPanel }),
|
|
38
48
|
new FullscreenToggleButton()
|
|
39
49
|
],
|
|
40
50
|
cssClasses: ['controlbar-bottom']
|
|
41
51
|
})
|
|
42
|
-
]
|
|
52
|
+
],
|
|
53
|
+
cssClasses: ['ui-controlbar-bottom']
|
|
43
54
|
});
|
|
44
55
|
npoplayer.uiComponents.controlbar = controlbar;
|
|
45
56
|
return controlbar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controlbar.js","sourceRoot":"","sources":["../../../../../src/js/ui/components/controlbar.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,OAAO,EACP,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,MAAM,EACN,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EAEzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"controlbar.js","sourceRoot":"","sources":["../../../../../src/js/ui/components/controlbar.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,OAAO,EACP,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,MAAM,EACN,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EAEzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnE,MAAM,UAAU,gBAAgB,CAC5B,SAAoB,EACpB,aAA4B;IAE5B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAE/B,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAEjD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,EAAE,CAAC,CAAA;IAC1D,SAAS,CAAC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAA;IAExC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;QAC1C,MAAM,EAAE,IAAI;KACf,CAAC,CAAA;IAEF,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE;QACjD,IAAG,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE;YAAE,gBAAgB,CAAC,IAAI,EAAE,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;QAC9B,UAAU,EAAE;YACR,aAAa;YACb,IAAI,SAAS,CAAC;gBACV,UAAU,EAAE;oBACR,IAAI,iBAAiB,CAAC;wBAClB,aAAa,EAAE,qBAAqB,CAAC,WAAW;wBAChD,kBAAkB,EAAE,IAAI;wBACxB,UAAU,EAAE,CAAC,cAAc,CAAC;qBAC/B,CAAC;oBACF,OAAO;oBACP,IAAI,iBAAiB,CAAC;wBAClB,aAAa,EAAE,qBAAqB,CAAC,SAAS;wBAC9C,UAAU,EAAE,CAAC,YAAY,CAAC;qBAC7B,CAAC;iBACL;gBACD,UAAU,EAAE,CAAC,gBAAgB,CAAC;aACjC,CAAC;YACF,IAAI,SAAS,CAAC;gBACV,UAAU,EAAE;oBACR,IAAI,oBAAoB,EAAE;oBAC1B,IAAI,kBAAkB,EAAE;oBACxB,IAAI,YAAY,EAAE;oBAClB,YAAY;oBACZ,aAAa;oBACb,IAAI,MAAM,EAAE;oBACZ,GAAG,CAAC,QAAQ,CAAC,uBAAuB,IAAI,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/I,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,gBAAgB;oBAChB,IAAI,oBAAoB,CAAC,EAAE,aAAa,EAAE,CAAC;oBAC3C,IAAI,sBAAsB,EAAE;iBAC/B;gBACD,UAAU,EAAE,CAAC,mBAAmB,CAAC;aACpC,CAAC;SACL;QACD,UAAU,EAAE,CAAC,sBAAsB,CAAC;KACvC,CAAC,CAAA;IAGF,SAAS,CAAC,YAAY,CAAC,UAAU,GAAG,UAAU,CAAA;IAE9C,OAAO,UAAU,CAAA;AACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ctabar.js","sourceRoot":"","sources":["../../../../../src/js/ui/components/ctabar.ts"],"names":[],"mappings":"AAAA;;;;;;;;EAQE;AAEF,OAAO,EAAU,SAAS,EAAS,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACH,sBAAsB,EACtB,0BAA0B,EAC7B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAMzC;;;;;;;EAOE;AACF,MAAM,UAAU,YAAY,CAAE,MAAwB,EAAE,SAAoB,EAAE,OAAe;IACzF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE1E,IAAI,aAAa,GAAkD;QAC/D,oBAAoB;QACpB,gBAAgB;KACnB,CAAA;
|
|
1
|
+
{"version":3,"file":"ctabar.js","sourceRoot":"","sources":["../../../../../src/js/ui/components/ctabar.ts"],"names":[],"mappings":"AAAA;;;;;;;;EAQE;AAEF,OAAO,EAAU,SAAS,EAAS,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACH,sBAAsB,EACtB,0BAA0B,EAC7B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAMzC;;;;;;;EAOE;AACF,MAAM,UAAU,YAAY,CAAE,MAAwB,EAAE,SAAoB,EAAE,OAAe;IACzF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE1E,IAAI,aAAa,GAAkD;QAC/D,oBAAoB;QACpB,gBAAgB;KACnB,CAAA;IAED,IAAI,OAAO,KAAK,IAAI,EAAE;QAClB,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;QAC1C,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,EAAE,CAAA;KACjB;IAED,OAAO,IAAI,SAAS,CAAC;QACjB,UAAU,EAAE,aAAa;QACzB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACzC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const addFragments: any;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { setFragments } from '../../../fragments/setfragments';
|
|
2
|
+
export const addFragments = async (player, uiManager, section) => {
|
|
3
|
+
const fragments = {
|
|
4
|
+
sections: [section],
|
|
5
|
+
};
|
|
6
|
+
setFragments(player, uiManager, fragments);
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=addFragments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addFragments.js","sourceRoot":"","sources":["../../../../../../src/js/ui/components/nativemobile/addFragments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAI9D,MAAM,CAAC,MAAM,YAAY,GAAQ,KAAK,EAAE,MAAiB,EAAE,SAAoB,EAAE,OAAgB,EAAE,EAAE;IACjG,MAAM,SAAS,GAAc;QACzB,QAAQ,EAAE,CAAC,OAAO,CAAC;KACtB,CAAA;IAED,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAC9C,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Button, SettingsToggleButton } from 'bitmovin-player-ui';
|
|
2
|
-
import { sendCustomMessage } from '../../
|
|
2
|
+
import { sendCustomMessage } from '../../nativemobileuicontainer';
|
|
3
3
|
import { CustomMessages } from '../../../../types/interfaces';
|
|
4
4
|
export function createPlayNextButton(player) {
|
|
5
5
|
const playNextButton = new Button({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../../../../../src/js/ui/components/nativemobile/buttons.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAiB,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../../../../../src/js/ui/components/nativemobile/buttons.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAiB,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAA8B,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE1F,MAAM,UAAU,oBAAoB,CAChC,MAAwB;IAExB,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC;QAC9B,QAAQ,EACJ,mEAAmE;QACvE,IAAI,EAAE,+CAA+C;QACrD,MAAM,EAAE,KAAK;KAChB,CAAC,CAAA;IAEF,IAAI,MAAM,IAAI,IAAI,EAAE;QAChB,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;YAClC,MAAM,MAAM,GAA+B,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;YACzF,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI,EAAE;gBACvC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;aAC9B;iBAAM;gBACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;aACnC;QACL,CAAC,CAAC,CAAA;KACL;IAED,OAAO,cAAc,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,0BAA0B;IACtC,OAAO,IAAI,MAAM,CAAC;QACd,QAAQ,EAAE,uDAAuD;QACjE,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,IAAI;KACf,CAAC,CAAA;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,MAAwB,EACxB,aAA4B;IAE5B,MAAM,0BAA0B,GAAG,IAAI,oBAAoB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAA;IAE9E,IAAI,MAAM,IAAI,IAAI,EAAE;QAChB,0BAA0B,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;YACjD,MAAM,MAAM,GAA+B,iBAAiB,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAA;YAClG,IAAI,MAAM,CAAC,qBAAqB,KAAK,KAAK,EAAE;gBACxC,aAAa,CAAC,IAAI,EAAE,CAAA;gBACpB,0BAA0B,CAAC,GAAG,EAAE,CAAA;aACnC;QACL,CAAC,CAAC,CAAA;KACL;IAED,OAAO,0BAA0B,CAAC;AACtC,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import { PlayerAPI } from 'bitmovin-player';
|
|
1
2
|
import { ControlBar, type SettingsPanel } from 'bitmovin-player-ui';
|
|
2
|
-
export declare function createControlBar(settingsPanel: SettingsPanel): ControlBar;
|
|
3
|
+
export declare function createControlBar(player: PlayerAPI, settingsPanel: SettingsPanel): ControlBar;
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { PlayerEvent } from 'bitmovin-player';
|
|
2
|
+
import { ControlBar, Container, PlaybackTimeLabel, PlaybackTimeLabelMode, SeekBar, SeekBarLabel, PlaybackToggleButton, VolumeToggleButton, VolumeSlider, Spacer, PictureInPictureToggleButton, AirPlayToggleButton, SettingsToggleButton, FullscreenToggleButton, CastToggleButton } from 'bitmovin-player-ui';
|
|
3
|
+
import { createForwardButton, createRewindButton } from '../buttons';
|
|
4
|
+
import { airPlaySupported } from '../../../utilities/utilities';
|
|
5
|
+
export function createControlBar(player, settingsPanel) {
|
|
6
|
+
const rewindButton = createRewindButton(player);
|
|
7
|
+
const forwardButton = createForwardButton(player);
|
|
8
|
+
const chromeCastButton = new CastToggleButton({
|
|
9
|
+
hidden: true
|
|
10
|
+
});
|
|
11
|
+
player?.on(PlayerEvent.CastAvailable, () => {
|
|
12
|
+
if (player?.isCastAvailable())
|
|
13
|
+
chromeCastButton.show();
|
|
14
|
+
});
|
|
3
15
|
return new ControlBar({
|
|
4
16
|
components: [
|
|
5
17
|
settingsPanel,
|
|
@@ -7,16 +19,33 @@ export function createControlBar(settingsPanel) {
|
|
|
7
19
|
components: [
|
|
8
20
|
new PlaybackTimeLabel({
|
|
9
21
|
timeLabelMode: PlaybackTimeLabelMode.CurrentTime,
|
|
10
|
-
hideInLivePlayback: true
|
|
22
|
+
hideInLivePlayback: true,
|
|
23
|
+
cssClasses: ['current-time']
|
|
11
24
|
}),
|
|
12
25
|
new SeekBar({ label: new SeekBarLabel() }),
|
|
13
26
|
new PlaybackTimeLabel({
|
|
14
27
|
timeLabelMode: PlaybackTimeLabelMode.TotalTime,
|
|
15
|
-
cssClasses: ['
|
|
28
|
+
cssClasses: ['total-time']
|
|
16
29
|
})
|
|
17
30
|
],
|
|
18
31
|
cssClasses: ['controlbar-top']
|
|
19
32
|
}),
|
|
33
|
+
new Container({
|
|
34
|
+
components: [
|
|
35
|
+
new PlaybackToggleButton(),
|
|
36
|
+
new VolumeToggleButton(),
|
|
37
|
+
new VolumeSlider(),
|
|
38
|
+
rewindButton,
|
|
39
|
+
forwardButton,
|
|
40
|
+
new Spacer(),
|
|
41
|
+
...(document.pictureInPictureEnabled && /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ? [new PictureInPictureToggleButton()] : []),
|
|
42
|
+
...(airPlaySupported() ? [new AirPlayToggleButton()] : []),
|
|
43
|
+
chromeCastButton,
|
|
44
|
+
new SettingsToggleButton({ settingsPanel }),
|
|
45
|
+
new FullscreenToggleButton()
|
|
46
|
+
],
|
|
47
|
+
cssClasses: ['controlbar-bottom']
|
|
48
|
+
})
|
|
20
49
|
]
|
|
21
50
|
});
|
|
22
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controlbar.js","sourceRoot":"","sources":["../../../../../../src/js/ui/components/nativemobile/controlbar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controlbar.js","sourceRoot":"","sources":["../../../../../../src/js/ui/components/nativemobile/controlbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EACH,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,OAAO,EACP,YAAY,EAEZ,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,MAAM,EACN,4BAA4B,EAC5B,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAE/D,MAAM,UAAU,gBAAgB,CAC5B,MAAiB,EACjB,aAA4B;IAE5B,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAEjD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;QAC1C,MAAM,EAAE,IAAI;KACf,CAAC,CAAA;IAEF,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE;QACvC,IAAG,MAAM,EAAE,eAAe,EAAE;YAAE,gBAAgB,CAAC,IAAI,EAAE,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,UAAU,CAAC;QAClB,UAAU,EAAE;YACR,aAAa;YACb,IAAI,SAAS,CAAC;gBACV,UAAU,EAAE;oBACR,IAAI,iBAAiB,CAAC;wBAClB,aAAa,EAAE,qBAAqB,CAAC,WAAW;wBAChD,kBAAkB,EAAE,IAAI;wBACxB,UAAU,EAAE,CAAC,cAAc,CAAC;qBAC/B,CAAC;oBACF,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,EAAE,CAAC;oBAC1C,IAAI,iBAAiB,CAAC;wBAClB,aAAa,EAAE,qBAAqB,CAAC,SAAS;wBAC9C,UAAU,EAAE,CAAC,YAAY,CAAC;qBAC7B,CAAC;iBACL;gBACD,UAAU,EAAE,CAAC,gBAAgB,CAAC;aACjC,CAAC;YACF,IAAI,SAAS,CAAC;gBACV,UAAU,EAAE;oBACR,IAAI,oBAAoB,EAAE;oBAC1B,IAAI,kBAAkB,EAAE;oBACxB,IAAI,YAAY,EAAE;oBAClB,YAAY;oBACZ,aAAa;oBACb,IAAI,MAAM,EAAE;oBACZ,GAAG,CAAC,QAAQ,CAAC,uBAAuB,IAAI,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/I,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,gBAAgB;oBAChB,IAAI,oBAAoB,CAAC,EAAE,aAAa,EAAE,CAAC;oBAC3C,IAAI,sBAAsB,EAAE;iBAC/B;gBACD,UAAU,EAAE,CAAC,mBAAmB,CAAC;aACpC,CAAC;SACL;KACJ,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Label, TitleBar } from 'bitmovin-player-ui';
|
|
2
|
+
export function createTitleBar() {
|
|
3
|
+
const nicam = new Label({ text: '', cssClass: 'nicam' });
|
|
4
|
+
const titleBar = new TitleBar({ cssClasses: ['metadata'] });
|
|
5
|
+
titleBar.addComponent(nicam);
|
|
6
|
+
return titleBar;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=titlebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"titlebar.js","sourceRoot":"","sources":["../../../../../../src/js/ui/components/nativemobile/titlebar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,UAAU,cAAc;IAC1B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAC3D,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAE5B,OAAO,QAAQ,CAAA;AACnB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Container, TitleBar, PictureInPictureToggleButton, AirPlayToggleButton, CastToggleButton, SettingsToggleButton, FullscreenToggleButton } from 'bitmovin-player-ui';
|
|
1
|
+
import { Container, TitleBar, PictureInPictureToggleButton, AirPlayToggleButton, CastToggleButton, SettingsToggleButton, FullscreenToggleButton, VolumeControlButton } from 'bitmovin-player-ui';
|
|
2
2
|
export function createTopBar(settingsPanel) {
|
|
3
3
|
return new TitleBar({
|
|
4
4
|
components: [
|
|
@@ -8,7 +8,10 @@ export function createTopBar(settingsPanel) {
|
|
|
8
8
|
new AirPlayToggleButton(),
|
|
9
9
|
new CastToggleButton(),
|
|
10
10
|
new SettingsToggleButton({ settingsPanel }),
|
|
11
|
-
new FullscreenToggleButton()
|
|
11
|
+
new FullscreenToggleButton(),
|
|
12
|
+
new VolumeControlButton({
|
|
13
|
+
vertical: true,
|
|
14
|
+
}),
|
|
12
15
|
],
|
|
13
16
|
cssClasses: ['controlbar-top', 'controlbar-small']
|
|
14
17
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topbar.js","sourceRoot":"","sources":["../../../../../src/js/ui/components/topbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EACT,QAAQ,EACR,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"topbar.js","sourceRoot":"","sources":["../../../../../src/js/ui/components/topbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EACT,QAAQ,EACR,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACtB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,UAAU,YAAY,CAAE,aAA4B;IACtD,OAAO,IAAI,QAAQ,CAAC;QAChB,UAAU,EAAE;YACR,IAAI,SAAS,CAAC;gBACV,UAAU,EAAE;oBACR,IAAI,4BAA4B,EAAE;oBAClC,IAAI,mBAAmB,EAAE;oBACzB,IAAI,gBAAgB,EAAE;oBACtB,IAAI,oBAAoB,CAAC,EAAE,aAAa,EAAE,CAAC;oBAC3C,IAAI,sBAAsB,EAAE;oBAC5B,IAAI,mBAAmB,CAAC;wBACpB,QAAQ,EAAE,IAAI;qBACjB,CAAC;iBACL;gBACD,UAAU,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;aACrD,CAAC;SACL;QACD,UAAU,EAAE,CAAC,gBAAgB,CAAC;KACjC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
function closeSettingsPanel(settingsPanel, mainSettingsPage) {
|
|
2
|
+
setTimeout(() => {
|
|
3
|
+
if (settingsPanel.getActivePage() !== mainSettingsPage)
|
|
4
|
+
settingsPanel.setActivePage(mainSettingsPage);
|
|
5
|
+
}, 100);
|
|
6
|
+
}
|
|
1
7
|
export function handleSubtitleListBoxItemSelected(subtitleSettingsOpenButton, settingsPanel, mainSettingsPage) {
|
|
2
8
|
return (e) => {
|
|
3
9
|
e.getItems().forEach((item) => {
|
|
@@ -5,9 +11,7 @@ export function handleSubtitleListBoxItemSelected(subtitleSettingsOpenButton, se
|
|
|
5
11
|
subtitleSettingsOpenButton.setText(item.label);
|
|
6
12
|
}
|
|
7
13
|
});
|
|
8
|
-
|
|
9
|
-
settingsPanel.setActivePage(mainSettingsPage);
|
|
10
|
-
}, 100);
|
|
14
|
+
closeSettingsPanel(settingsPanel, mainSettingsPage);
|
|
11
15
|
};
|
|
12
16
|
}
|
|
13
17
|
export function handleSpeedListBoxItemSelected(player, speedSettingsOpenButton, settingsPanel, mainSettingsPage) {
|
|
@@ -19,9 +23,7 @@ export function handleSpeedListBoxItemSelected(player, speedSettingsOpenButton,
|
|
|
19
23
|
source.selectItem(item.key);
|
|
20
24
|
}
|
|
21
25
|
});
|
|
22
|
-
|
|
23
|
-
settingsPanel.setActivePage(mainSettingsPage);
|
|
24
|
-
}, 100);
|
|
26
|
+
closeSettingsPanel(settingsPanel, mainSettingsPage);
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
29
|
export function handleQualityListBoxItemSelected(player, qualitySettingsOpenButton, settingsPanel, mainSettingsPage) {
|
|
@@ -33,9 +35,7 @@ export function handleQualityListBoxItemSelected(player, qualitySettingsOpenButt
|
|
|
33
35
|
source.selectItem(item.key);
|
|
34
36
|
}
|
|
35
37
|
});
|
|
36
|
-
|
|
37
|
-
settingsPanel.setActivePage(mainSettingsPage);
|
|
38
|
-
}, 100);
|
|
38
|
+
closeSettingsPanel(settingsPanel, mainSettingsPage);
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
//# sourceMappingURL=listboxhandlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listboxhandlers.js","sourceRoot":"","sources":["../../../../../src/js/ui/handlers/listboxhandlers.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,iCAAiC,CAC7C,0BAAuD,EACvD,aAA4B,EAC5B,gBAAmC;IAEnC,OAAO,CAAC,CAAM,EAAE,EAAE;QACd,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,eAAe,EAAE,EAAE;gBAClC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACjD;QACL,CAAC,CAAC,CAAA;QACF,
|
|
1
|
+
{"version":3,"file":"listboxhandlers.js","sourceRoot":"","sources":["../../../../../src/js/ui/handlers/listboxhandlers.ts"],"names":[],"mappings":"AAQA,SAAS,kBAAkB,CAAC,aAA4B,EAAE,gBAAmC;IACzF,UAAU,CAAC,GAAG,EAAE;QACZ,IAAG,aAAa,CAAC,aAAa,EAAE,KAAK,gBAAgB;YAAE,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;IACxG,CAAC,EAAE,GAAG,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC7C,0BAAuD,EACvD,aAA4B,EAC5B,gBAAmC;IAEnC,OAAO,CAAC,CAAM,EAAE,EAAE;QACd,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,eAAe,EAAE,EAAE;gBAClC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACjD;QACL,CAAC,CAAC,CAAA;QACF,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC1C,MAAwB,EACxB,uBAAoD,EACpD,aAA4B,EAC5B,gBAAmC;IAEnC,OAAO,CAAC,MAAW,EAAE,IAAS,EAAE,EAAE;QAC9B,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;gBACnB,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC9C,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC3C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAC9B;QACL,CAAC,CAAC,CAAA;QACF,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC5C,MAAwB,EACxB,yBAAsD,EACtD,aAA4B,EAC5B,gBAAmC;IAEnC,OAAO,CAAC,MAAW,EAAE,IAAS,EAAE,EAAE;QAC9B,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;gBACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACjC,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC7C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAC9B;QACL,CAAC,CAAC,CAAA;QACF,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC,CAAA;AACL,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { StreamObject } from
|
|
1
|
+
import { StreamObject } from 'types/interfaces';
|
|
2
2
|
export declare function processNicam(streamObject: StreamObject, containerId: string): void;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
export function processNicam(streamObject, containerId) {
|
|
12
12
|
const nicamElement = document.querySelector(`#${containerId} .bmpui-nicam`);
|
|
13
13
|
if (nicamElement) {
|
|
14
|
-
nicamElement.innerHTML =
|
|
14
|
+
nicamElement.innerHTML = '';
|
|
15
15
|
streamObject.metadata.ageRating && addNicamIcon(streamObject.metadata.ageRating, nicamElement);
|
|
16
16
|
streamObject.metadata.nicam?.forEach((character) => addNicamIcon(character, nicamElement));
|
|
17
17
|
}
|
|
@@ -24,9 +24,9 @@ export function processNicam(streamObject, containerId) {
|
|
|
24
24
|
* @returns {void}
|
|
25
25
|
*/
|
|
26
26
|
function addNicamIcon(character, nicamElement) {
|
|
27
|
-
const iconClass =
|
|
28
|
-
const span = document.createElement(
|
|
29
|
-
span.classList.add(
|
|
27
|
+
const iconClass = `nicam-icon-${character.toLowerCase()}`;
|
|
28
|
+
const span = document.createElement('span');
|
|
29
|
+
span.classList.add('nicam-icon', iconClass);
|
|
30
30
|
nicamElement.appendChild(span);
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=nicamhandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nicamhandler.js","sourceRoot":"","sources":["../../../../../src/js/ui/handlers/nicamhandler.ts"],"names":[],"mappings":"AAAA;;EAEE;AAIF;;;;;;EAME;AACF,MAAM,UAAU,YAAY,CAAC,YAA0B,EAAE,WAAmB;IACxE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"nicamhandler.js","sourceRoot":"","sources":["../../../../../src/js/ui/handlers/nicamhandler.ts"],"names":[],"mappings":"AAAA;;EAEE;AAIF;;;;;;EAME;AACF,MAAM,UAAU,YAAY,CAAC,YAA0B,EAAE,WAAmB;IACxE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,eAAe,CAAC,CAAA;IAC3E,IAAI,YAAY,EAAE;QACd,YAAY,CAAC,SAAS,GAAG,EAAE,CAAA;QAC3B,YAAY,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAC9F,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;KACrG;AACL,CAAC;AAED;;;;;;EAME;AACF,SAAS,YAAY,CAAC,SAAiB,EAAE,YAAqB;IAC1D,MAAM,SAAS,GAAG,cAAc,SAAS,CAAC,WAAW,EAAE,EAAE,CAAA;IACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IAC3C,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { BufferingOverlay, CastStatusOverlay, ErrorMessageOverlay, PlaybackToggleOverlay, SubtitleOverlay, UIContainer,
|
|
1
|
+
import { BufferingOverlay, CastStatusOverlay, ErrorMessageOverlay, PlaybackToggleOverlay, SubtitleOverlay, UIContainer, } from 'bitmovin-player-ui';
|
|
2
2
|
import { createPlayNextScreen } from './components/nativemobile/playnext';
|
|
3
3
|
import { createCTABar } from './components/nativemobile/ctabar';
|
|
4
4
|
import { createControlBar } from './components/nativemobile/controlbar';
|
|
5
5
|
import { createTopBar } from './components/nativemobile/topbar';
|
|
6
6
|
import { createSettingsPanel } from './components/settingspanel';
|
|
7
7
|
import { createMiddleButtons } from './components/buttons';
|
|
8
|
+
import { createTitleBar } from './components/nativemobile/titlebar';
|
|
8
9
|
export function sendCustomMessage(message) {
|
|
9
10
|
if (window.bitmovin.customMessageHandler) {
|
|
10
11
|
return JSON.parse(window.bitmovin.customMessageHandler.sendSynchronous(message)) || {};
|
|
@@ -25,10 +26,8 @@ export function nativeMobileUIContainer(player) {
|
|
|
25
26
|
const settingsPanel = createSettingsPanel(player);
|
|
26
27
|
const ctaBar = createCTABar(player);
|
|
27
28
|
const topBar = createTopBar(player, settingsPanel);
|
|
28
|
-
const controlBar = createControlBar(settingsPanel);
|
|
29
|
+
const controlBar = createControlBar(player, settingsPanel);
|
|
29
30
|
const errorMessageOverlay = new ErrorMessageOverlay();
|
|
30
|
-
// TODO: load this reponse data in the ui
|
|
31
|
-
// player.on(PlayerEvent.SourceLoaded, () => console.log('source loaded', player.getSource()));
|
|
32
31
|
return new UIContainer({
|
|
33
32
|
components: [
|
|
34
33
|
new SubtitleOverlay(),
|
|
@@ -38,12 +37,12 @@ export function nativeMobileUIContainer(player) {
|
|
|
38
37
|
playNextScreen,
|
|
39
38
|
middleButtons,
|
|
40
39
|
controlBar,
|
|
41
|
-
topBar,
|
|
42
40
|
ctaBar,
|
|
43
|
-
|
|
41
|
+
topBar,
|
|
42
|
+
createTitleBar(),
|
|
44
43
|
errorMessageOverlay
|
|
45
44
|
],
|
|
46
45
|
cssClasses: ['npo-player', 'native-mobile'],
|
|
47
46
|
});
|
|
48
47
|
}
|
|
49
|
-
//# sourceMappingURL=
|
|
48
|
+
//# sourceMappingURL=nativemobileuicontainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativemobileuicontainer.js","sourceRoot":"","sources":["../../../../src/js/ui/nativemobileuicontainer.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,WAAW,GACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKpE,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;KACzF;IACD,OAAO,EAAE,CAAA;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAuB;IACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE;QACtC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAa,EAAE,EAAE;YAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAA;KACL;IAED,OAAO,EAAE,CAAA;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAE,MAAiB;IACtD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACnD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAClD,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC1D,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAA;IAErD,OAAO,IAAI,WAAW,CAAC;QACnB,UAAU,EAAE;YACR,IAAI,eAAe,EAAE;YACrB,IAAI,gBAAgB,EAAE;YACtB,IAAI,qBAAqB,EAAE;YAC3B,IAAI,iBAAiB,EAAE;YACvB,cAAc;YACd,aAAa;YACb,UAAU;YACV,MAAM;YACN,MAAM;YACN,cAAc,EAAE;YAChB,mBAAmB;SACtB;QACD,UAAU,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;KAC9C,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { PlayerEvent } from 'bitmovin-player';
|
|
2
|
+
import { UIManager } from 'bitmovin-player-ui';
|
|
3
|
+
import { customSpecificErrorMessageOverlayConfig } from '../playeractions/handlers/customerrors';
|
|
4
|
+
import { localizationConfig } from '../utilities/localizationconfig';
|
|
5
|
+
import { nativeMobileUIContainer } from './nativemobileuicontainer';
|
|
6
|
+
import { addFragments } from '../ui/components/nativemobile/addFragments';
|
|
7
|
+
import { processNicam } from './handlers/nicamhandler';
|
|
8
|
+
export function nativeMobileUiFactory(player, config = {}) {
|
|
9
|
+
const uiConfig = {
|
|
10
|
+
...config,
|
|
11
|
+
errorMessages: customSpecificErrorMessageOverlayConfig,
|
|
12
|
+
disableAutoHideWhenHovered: true
|
|
13
|
+
};
|
|
14
|
+
const playerSource = player.getSource();
|
|
15
|
+
const _streamObject = JSON.parse(playerSource?.metadata?.['StreamLink JSON'] || '{}');
|
|
16
|
+
UIManager.setLocalizationConfig(localizationConfig);
|
|
17
|
+
const mobileUIManager = new UIManager(player, nativeMobileUIContainer(player), uiConfig);
|
|
18
|
+
if (_streamObject.metadata.ageRating) {
|
|
19
|
+
processNicam(_streamObject, 'ui-container');
|
|
20
|
+
}
|
|
21
|
+
if (_streamObject.segment) {
|
|
22
|
+
const seg = _streamObject.segment;
|
|
23
|
+
const section = {
|
|
24
|
+
start: seg.inpoint,
|
|
25
|
+
end: seg.outpoint,
|
|
26
|
+
title: playerSource?.title || '',
|
|
27
|
+
};
|
|
28
|
+
player.off(PlayerEvent.Ready, () => addFragments(player, mobileUIManager, section));
|
|
29
|
+
player.on(PlayerEvent.Ready, () => addFragments(player, mobileUIManager, section));
|
|
30
|
+
}
|
|
31
|
+
else if (playerSource?.thumbnailTrack) {
|
|
32
|
+
const element = document.querySelector('.bmpui-npo-player .bmpui-seekbar-label-title');
|
|
33
|
+
if (element !== null) {
|
|
34
|
+
element.textContent = playerSource.title || '';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Remove finished class when you start seeking again
|
|
38
|
+
player.on(PlayerEvent.Seeked, () => {
|
|
39
|
+
document.querySelector('.bmpui-npo-player.bmpui-player-state-finished')?.classList.remove('bmpui-player-state-finished');
|
|
40
|
+
});
|
|
41
|
+
return mobileUIManager;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=nativemobileuifactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativemobileuifactory.js","sourceRoot":"","sources":["../../../../src/js/ui/nativemobileuifactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAY,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,uCAAuC,EAAE,MAAM,wCAAwC,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,MAAM,UAAU,qBAAqB,CAAE,MAAiB,EAAE,SAAmB,EAAE;IAC3E,MAAM,QAAQ,GAAa;QACvB,GAAG,MAAM;QACT,aAAa,EAAE,uCAAuC;QACtD,0BAA0B,EAAE,IAAI;KACnC,CAAA;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACvC,MAAM,aAAa,GAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,CAAA;IAE1F,SAAS,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAA;IAEnD,MAAM,eAAe,GAAG,IAAI,SAAS,CACjC,MAAM,EACN,uBAAuB,CAAC,MAAM,CAAC,EAC/B,QAAQ,CACX,CAAA;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE;QAClC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;KAC9C;IAED,IAAI,aAAa,CAAC,OAAO,EAAE;QACvB,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAA;QACjC,MAAM,OAAO,GAAa;YACtB,KAAK,EAAE,GAAG,CAAC,OAAO;YAClB,GAAG,EAAE,GAAG,CAAC,QAAQ;YACjB,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;SACnC,CAAA;QAED,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAA;QACnF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAA;KACrF;SAAM,IAAI,YAAY,EAAE,cAAc,EAAE;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,8CAA8C,CAAC,CAAA;QAEtF,IAAI,OAAO,KAAK,IAAI,EAAE;YAClB,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE,CAAA;SACjD;KACJ;IAED,qDAAqD;IACrD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE;QAC/B,QAAQ,CAAC,aAAa,CAAC,+CAA+C,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAA;IAC5H,CAAC,CAAC,CAAA;IAEF,OAAO,eAAe,CAAC;AAC3B,CAAC"}
|