unified-video-framework 1.4.343 → 1.4.345
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/package.json +1 -1
- package/packages/web/dist/WebPlayer.d.ts +7 -0
- package/packages/web/dist/WebPlayer.d.ts.map +1 -1
- package/packages/web/dist/WebPlayer.js +107 -0
- package/packages/web/dist/WebPlayer.js.map +1 -1
- package/packages/web/dist/react/WebPlayerView.d.ts +1 -2
- package/packages/web/dist/react/WebPlayerView.d.ts.map +1 -1
- package/packages/web/dist/react/WebPlayerView.js +12 -16
- package/packages/web/dist/react/WebPlayerView.js.map +1 -1
- package/packages/web/src/WebPlayer.ts +142 -3
- package/packages/web/src/react/WebPlayerView.tsx +13 -31
- package/packages/web/src/react/components/FlashNewsTicker.tsx +0 -197
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unified-video-framework",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.345",
|
|
4
4
|
"description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
|
|
5
5
|
"main": "packages/core/dist/index.js",
|
|
6
6
|
"types": "packages/core/dist/index.d.ts",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BasePlayer } from '../../core/dist/BasePlayer';
|
|
2
2
|
import { Chapter, ChapterSegment } from '../../core/dist/index';
|
|
3
3
|
import { ChapterConfig, VideoChapters, VideoSegment } from './chapters/types/ChapterTypes';
|
|
4
|
+
import type { FlashNewsTickerConfig } from './react/types/FlashNewsTickerTypes';
|
|
4
5
|
declare global {
|
|
5
6
|
interface Window {
|
|
6
7
|
Hls: any;
|
|
@@ -32,6 +33,9 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
32
33
|
private settingsConfig;
|
|
33
34
|
private watermarkCanvas;
|
|
34
35
|
private playerWrapper;
|
|
36
|
+
private flashTickerContainer;
|
|
37
|
+
private flashTickerTopElement;
|
|
38
|
+
private flashTickerBottomElement;
|
|
35
39
|
private previewGateHit;
|
|
36
40
|
private paymentSuccessTime;
|
|
37
41
|
private paymentSuccessful;
|
|
@@ -150,6 +154,9 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
150
154
|
getCurrentQuality(): any;
|
|
151
155
|
setQuality(index: number): void;
|
|
152
156
|
setPlaybackRate(rate: number): void;
|
|
157
|
+
setFlashNewsTicker(config: FlashNewsTickerConfig): void;
|
|
158
|
+
private createTickerElement;
|
|
159
|
+
private calculateTickerDuration;
|
|
153
160
|
setAutoQuality(enabled: boolean): void;
|
|
154
161
|
enterFullscreen(): Promise<void>;
|
|
155
162
|
exitFullscreen(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAOL,OAAO,EACP,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EAEb,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,9 @@ export class WebPlayer extends BasePlayer {
|
|
|
30
30
|
};
|
|
31
31
|
this.watermarkCanvas = null;
|
|
32
32
|
this.playerWrapper = null;
|
|
33
|
+
this.flashTickerContainer = null;
|
|
34
|
+
this.flashTickerTopElement = null;
|
|
35
|
+
this.flashTickerBottomElement = null;
|
|
33
36
|
this.previewGateHit = false;
|
|
34
37
|
this.paymentSuccessTime = 0;
|
|
35
38
|
this.paymentSuccessful = false;
|
|
@@ -203,8 +206,20 @@ export class WebPlayer extends BasePlayer {
|
|
|
203
206
|
}
|
|
204
207
|
this.watermarkCanvas = document.createElement('canvas');
|
|
205
208
|
this.watermarkCanvas.className = 'uvf-watermark-layer';
|
|
209
|
+
this.flashTickerContainer = document.createElement('div');
|
|
210
|
+
this.flashTickerContainer.className = 'uvf-flash-ticker-container';
|
|
211
|
+
this.flashTickerContainer.style.cssText = `
|
|
212
|
+
position: absolute;
|
|
213
|
+
top: 0;
|
|
214
|
+
left: 0;
|
|
215
|
+
right: 0;
|
|
216
|
+
bottom: 0;
|
|
217
|
+
z-index: 15;
|
|
218
|
+
pointer-events: none;
|
|
219
|
+
`;
|
|
206
220
|
videoContainer.appendChild(this.video);
|
|
207
221
|
videoContainer.appendChild(this.watermarkCanvas);
|
|
222
|
+
videoContainer.appendChild(this.flashTickerContainer);
|
|
208
223
|
this.createCustomControls(videoContainer);
|
|
209
224
|
if (!this.useCustomControls) {
|
|
210
225
|
wrapper.classList.add('controls-disabled');
|
|
@@ -1722,6 +1737,98 @@ export class WebPlayer extends BasePlayer {
|
|
|
1722
1737
|
this.video.playbackRate = rate;
|
|
1723
1738
|
super.setPlaybackRate(rate);
|
|
1724
1739
|
}
|
|
1740
|
+
setFlashNewsTicker(config) {
|
|
1741
|
+
if (!this.flashTickerContainer)
|
|
1742
|
+
return;
|
|
1743
|
+
this.flashTickerContainer.innerHTML = '';
|
|
1744
|
+
this.flashTickerTopElement = null;
|
|
1745
|
+
this.flashTickerBottomElement = null;
|
|
1746
|
+
if (!config.enabled || !config.items || config.items.length === 0) {
|
|
1747
|
+
return;
|
|
1748
|
+
}
|
|
1749
|
+
if (config.position === 'top' || config.position === 'both') {
|
|
1750
|
+
this.flashTickerTopElement = this.createTickerElement(config, 'top');
|
|
1751
|
+
this.flashTickerContainer.appendChild(this.flashTickerTopElement);
|
|
1752
|
+
}
|
|
1753
|
+
if (config.position === 'bottom' || config.position === 'both' || !config.position) {
|
|
1754
|
+
this.flashTickerBottomElement = this.createTickerElement(config, 'bottom');
|
|
1755
|
+
this.flashTickerContainer.appendChild(this.flashTickerBottomElement);
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
createTickerElement(config, position) {
|
|
1759
|
+
const ticker = document.createElement('div');
|
|
1760
|
+
ticker.className = `uvf-flash-ticker ticker-${position}`;
|
|
1761
|
+
const bottomOffset = config.bottomOffset || 60;
|
|
1762
|
+
const topOffset = config.topOffset || 10;
|
|
1763
|
+
const height = config.height || 40;
|
|
1764
|
+
ticker.style.cssText = `
|
|
1765
|
+
position: absolute;
|
|
1766
|
+
left: 0;
|
|
1767
|
+
right: 0;
|
|
1768
|
+
height: ${height}px;
|
|
1769
|
+
${position === 'top' ? `top: ${topOffset}px;` : `bottom: ${bottomOffset}px;`}
|
|
1770
|
+
background-color: ${config.backgroundColor || 'rgba(0,0,0,0.7)'};
|
|
1771
|
+
overflow: hidden;
|
|
1772
|
+
pointer-events: none;
|
|
1773
|
+
display: flex;
|
|
1774
|
+
align-items: center;
|
|
1775
|
+
`;
|
|
1776
|
+
const track = document.createElement('div');
|
|
1777
|
+
track.className = 'uvf-ticker-track';
|
|
1778
|
+
const duration = this.calculateTickerDuration(config);
|
|
1779
|
+
track.style.cssText = `
|
|
1780
|
+
display: flex;
|
|
1781
|
+
white-space: nowrap;
|
|
1782
|
+
animation: ticker-scroll ${duration}s linear infinite;
|
|
1783
|
+
will-change: transform;
|
|
1784
|
+
`;
|
|
1785
|
+
const renderItems = () => {
|
|
1786
|
+
config.items.forEach((item, index) => {
|
|
1787
|
+
const span = document.createElement('span');
|
|
1788
|
+
span.textContent = item.text;
|
|
1789
|
+
span.style.cssText = `
|
|
1790
|
+
color: ${config.textColor || '#ffffff'};
|
|
1791
|
+
font-size: ${config.fontSize || 14}px;
|
|
1792
|
+
font-weight: ${config.fontWeight || 600};
|
|
1793
|
+
margin-right: ${config.gap || 100}px;
|
|
1794
|
+
`;
|
|
1795
|
+
track.appendChild(span);
|
|
1796
|
+
if (index < config.items.length - 1 && config.separator) {
|
|
1797
|
+
const sep = document.createElement('span');
|
|
1798
|
+
sep.textContent = config.separator;
|
|
1799
|
+
sep.style.cssText = `
|
|
1800
|
+
color: ${config.textColor || '#ffffff'};
|
|
1801
|
+
font-size: ${config.fontSize || 14}px;
|
|
1802
|
+
opacity: 0.5;
|
|
1803
|
+
margin: 0 8px;
|
|
1804
|
+
`;
|
|
1805
|
+
track.appendChild(sep);
|
|
1806
|
+
}
|
|
1807
|
+
});
|
|
1808
|
+
};
|
|
1809
|
+
renderItems();
|
|
1810
|
+
renderItems();
|
|
1811
|
+
ticker.appendChild(track);
|
|
1812
|
+
if (!document.querySelector('#uvf-ticker-animation')) {
|
|
1813
|
+
const style = document.createElement('style');
|
|
1814
|
+
style.id = 'uvf-ticker-animation';
|
|
1815
|
+
style.textContent = `
|
|
1816
|
+
@keyframes ticker-scroll {
|
|
1817
|
+
0% { transform: translateX(0); }
|
|
1818
|
+
100% { transform: translateX(-50%); }
|
|
1819
|
+
}
|
|
1820
|
+
`;
|
|
1821
|
+
document.head.appendChild(style);
|
|
1822
|
+
}
|
|
1823
|
+
return ticker;
|
|
1824
|
+
}
|
|
1825
|
+
calculateTickerDuration(config) {
|
|
1826
|
+
const speed = config.speed || 50;
|
|
1827
|
+
const itemsLength = config.items.reduce((acc, item) => acc + item.text.length, 0);
|
|
1828
|
+
const avgCharWidth = 10;
|
|
1829
|
+
const totalWidth = itemsLength * avgCharWidth;
|
|
1830
|
+
return Math.max(totalWidth / speed, 10);
|
|
1831
|
+
}
|
|
1725
1832
|
setAutoQuality(enabled) {
|
|
1726
1833
|
this.autoQuality = enabled;
|
|
1727
1834
|
if (this.hls) {
|