@besovideo/webrtc-player 0.8.80 → 0.8.82
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/main.es.css +28 -0
- package/dist/main.es.js +82 -10
- package/dist/types/plugins/palybackBar.d.ts +12 -1
- package/package.json +1 -1
package/dist/main.es.css
CHANGED
|
@@ -901,6 +901,34 @@
|
|
|
901
901
|
right: 16px;
|
|
902
902
|
top: 14px;
|
|
903
903
|
}
|
|
904
|
+
.bvplayer-blaybackbar .optionsContent {
|
|
905
|
+
position: absolute;
|
|
906
|
+
right: 85px;
|
|
907
|
+
bottom: 30px;
|
|
908
|
+
padding: 10px 5px;
|
|
909
|
+
border-radius: 5px;
|
|
910
|
+
height: 130px;
|
|
911
|
+
background-color: white;
|
|
912
|
+
color: black;
|
|
913
|
+
display: none;
|
|
914
|
+
}
|
|
915
|
+
.bvplayer-blaybackbar .options-item select {
|
|
916
|
+
vertical-align: text-bottom;
|
|
917
|
+
}
|
|
918
|
+
.bvplayer-blaybackbar .options-item {
|
|
919
|
+
text-align: center;
|
|
920
|
+
padding: 2px 12px;
|
|
921
|
+
-webkit-user-select: none;
|
|
922
|
+
user-select: none;
|
|
923
|
+
}
|
|
924
|
+
.bvplayer-blaybackbar .options-item[data-selected=true] {
|
|
925
|
+
background-color: #cfcfcf;
|
|
926
|
+
}
|
|
927
|
+
.bvplayer-blaybackbar .options-item:hover {
|
|
928
|
+
cursor: pointer;
|
|
929
|
+
background-color: #dfdfdf;
|
|
930
|
+
border-radius: 3px;
|
|
931
|
+
}
|
|
904
932
|
.bvplayer-blaybackbar .svg-sound {
|
|
905
933
|
color: white;
|
|
906
934
|
cursor: pointer;
|
package/dist/main.es.js
CHANGED
|
@@ -111,7 +111,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
111
111
|
var define_processenv_default;
|
|
112
112
|
var init_define_processenv = __esm({
|
|
113
113
|
"<define:processenv>"() {
|
|
114
|
-
define_processenv_default = { NODE_ENV: "production", SH_LIB_NAME: "@besovideo/webrtc-player", SH_LIB_VERSION: "0.8.
|
|
114
|
+
define_processenv_default = { NODE_ENV: "production", SH_LIB_NAME: "@besovideo/webrtc-player", SH_LIB_VERSION: "0.8.82", PROJECT_NAMESPACE: "bvplayer" };
|
|
115
115
|
}
|
|
116
116
|
});
|
|
117
117
|
|
|
@@ -5053,7 +5053,7 @@ var getDeviceBvrtc = (param, token, signal) => __async(void 0, null, function* (
|
|
|
5053
5053
|
signal
|
|
5054
5054
|
);
|
|
5055
5055
|
logger_default.api("\u8BBE\u5907\u97F3\u89C6\u9891\u6D41 bvrtc\u65B9\u5F0F\u6253\u5F00dialog: ", { params, resData });
|
|
5056
|
-
if (resData == null ? void 0 : resData.code) {
|
|
5056
|
+
if ((resData == null ? void 0 : resData.code) == 9) {
|
|
5057
5057
|
throw new TokenFailError("token fail");
|
|
5058
5058
|
}
|
|
5059
5059
|
if (!resData || resData.code !== 0 || !((_a = resData.data) == null ? void 0 : _a.dialogid))
|
|
@@ -14901,7 +14901,8 @@ var en_default = {
|
|
|
14901
14901
|
"tiao-zhuan": "Jump",
|
|
14902
14902
|
"fa-song": "Send",
|
|
14903
14903
|
"xian-shi": "Show",
|
|
14904
|
-
"token-fail": "Token Fail"
|
|
14904
|
+
"token-fail": "Token Fail",
|
|
14905
|
+
"bei-su": "Speed"
|
|
14905
14906
|
};
|
|
14906
14907
|
|
|
14907
14908
|
// src/locales/zh.json
|
|
@@ -14951,7 +14952,8 @@ var zh_default = {
|
|
|
14951
14952
|
"tiao-zhuan": "\u8DF3\u8F6C",
|
|
14952
14953
|
"xian-shi": "\u663E\u793A",
|
|
14953
14954
|
"fa-song": "\u53D1\u9001",
|
|
14954
|
-
"token-fail": "\u8BA4\u8BC1\u5931\u6548"
|
|
14955
|
+
"token-fail": "\u8BA4\u8BC1\u5931\u6548",
|
|
14956
|
+
"bei-su": "\u500D\u901F"
|
|
14955
14957
|
};
|
|
14956
14958
|
|
|
14957
14959
|
// src/locales/i18n.ts
|
|
@@ -16573,6 +16575,7 @@ var PuPlayer = (props) => {
|
|
|
16573
16575
|
player.mask.text = t("lost-connection");
|
|
16574
16576
|
player.close();
|
|
16575
16577
|
onDisConnected && onDisConnected();
|
|
16578
|
+
useRecntMgr == null ? void 0 : useRecntMgr.reconnect();
|
|
16576
16579
|
},
|
|
16577
16580
|
onConnected: (_pc) => {
|
|
16578
16581
|
onConnected && onConnected();
|
|
@@ -16651,8 +16654,6 @@ var PuPlayer = (props) => {
|
|
|
16651
16654
|
var _a2, _b2;
|
|
16652
16655
|
muted2 = arguments.length == 0 ? currentMuted : muted2;
|
|
16653
16656
|
console.log("open with muted: ", muted2);
|
|
16654
|
-
if (!useRecntMgr)
|
|
16655
|
-
useRecntMgr = reconnectMgr;
|
|
16656
16657
|
player.clearEventListener("close");
|
|
16657
16658
|
logger_default.debug(
|
|
16658
16659
|
"PuPlayer open",
|
|
@@ -16696,7 +16697,7 @@ var PuPlayer = (props) => {
|
|
|
16696
16697
|
player.mask.visible = true;
|
|
16697
16698
|
player.mask.text = e.toString();
|
|
16698
16699
|
onConnectedFailed && onConnectedFailed();
|
|
16699
|
-
|
|
16700
|
+
reconnectMgr == null ? void 0 : reconnectMgr.reconnect();
|
|
16700
16701
|
return;
|
|
16701
16702
|
}
|
|
16702
16703
|
try {
|
|
@@ -16900,10 +16901,12 @@ var PuPlayer = (props) => {
|
|
|
16900
16901
|
player.mask.text = e2.toString();
|
|
16901
16902
|
hplayer == null ? void 0 : hplayer.close();
|
|
16902
16903
|
onConnectedFailed && onConnectedFailed();
|
|
16903
|
-
|
|
16904
|
+
reconnectMgr == null ? void 0 : reconnectMgr.reconnect();
|
|
16904
16905
|
throw e2;
|
|
16905
16906
|
}
|
|
16906
16907
|
}
|
|
16908
|
+
if (!useRecntMgr)
|
|
16909
|
+
useRecntMgr = reconnectMgr;
|
|
16907
16910
|
});
|
|
16908
16911
|
},
|
|
16909
16912
|
play: () => __async(void 0, null, function* () {
|
|
@@ -17128,7 +17131,35 @@ var PlaybackBar = class extends Plugin {
|
|
|
17128
17131
|
this.svgFullscreen = core_default.dom.createByJsx(/* @__PURE__ */ jsx_default.h("svg", { onclick: () => {
|
|
17129
17132
|
this.dispatch("fullscreen");
|
|
17130
17133
|
}, style: "margin-left: 30px; cursor: pointer", xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24" }, /* @__PURE__ */ jsx_default.h("path", { fill: "white", d: "M4 4h6v2H6v4H4zm10 0h6v6h-2V6h-4zM6 14v4h4v2H4v-6zm14 0v6h-6v-2h4v-4z" })));
|
|
17131
|
-
this.
|
|
17134
|
+
this.optionsValues = ["2.0", "1.5", "1.25", "1.0", "0.75", "0.50"];
|
|
17135
|
+
this.currenSpeed = 1;
|
|
17136
|
+
this.optionsContent = core_default.dom.createByJsx(
|
|
17137
|
+
/* @__PURE__ */ jsx_default.h("div", { className: "optionsContent", onclick: (e) => {
|
|
17138
|
+
e.stopPropagation();
|
|
17139
|
+
} }, this.optionsValues.map((item) => {
|
|
17140
|
+
return /* @__PURE__ */ jsx_default.h(jsx_default.Fragment, null, /* @__PURE__ */ jsx_default.h("div", { className: "options-item", "data-selected": this.currenSpeed == Number(item) ? "true" : void 0, onclick: (e) => {
|
|
17141
|
+
var _a;
|
|
17142
|
+
const divEle = e.target;
|
|
17143
|
+
(_a = divEle.parentNode) == null ? void 0 : _a.childNodes.forEach((div2) => {
|
|
17144
|
+
if (div2.dataset["selected"]) {
|
|
17145
|
+
delete div2.dataset["selected"];
|
|
17146
|
+
}
|
|
17147
|
+
});
|
|
17148
|
+
divEle.dataset["selected"] = true;
|
|
17149
|
+
if (this.currenSpeed = Number(item)) {
|
|
17150
|
+
this.currenSpeed = Number(item);
|
|
17151
|
+
this.onOptionChange(this.currenSpeed);
|
|
17152
|
+
}
|
|
17153
|
+
} }, " ", item, "x"));
|
|
17154
|
+
}))
|
|
17155
|
+
);
|
|
17156
|
+
this.globalClickTemp = () => {
|
|
17157
|
+
};
|
|
17158
|
+
this.svgOptions = core_default.dom.createByJsx(/* @__PURE__ */ jsx_default.h("svg", { style: "margin-left: 30px; cursor: pointer", xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24" }, /* @__PURE__ */ jsx_default.h("path", { fill: "white", d: "M10 12a2 2 0 1 0 4 0a2 2 0 0 0-4 0m0-6a2 2 0 1 0 4 0a2 2 0 0 0-4 0m0 12a2 2 0 1 0 4 0a2 2 0 0 0-4 0" })));
|
|
17159
|
+
this.playSpeed = core_default.dom.createByJsx(/* @__PURE__ */ jsx_default.h(jsx_default.Fragment, null, /* @__PURE__ */ jsx_default.h("span", { onclick: (e) => {
|
|
17160
|
+
this.toggleOptionsContent();
|
|
17161
|
+
e.stopPropagation();
|
|
17162
|
+
}, style: "vertical-align: bottom;margin-top: 10px;line-height: 30px; margin-right: 10px; margin-left: 30px; cursor: pointer; user-select: none; font-size: 12px" }, t("bei-su"))));
|
|
17132
17163
|
this.svgDownload = core_default.dom.createByJsx(/* @__PURE__ */ jsx_default.h("span", { onclick: () => {
|
|
17133
17164
|
this.dispatch("download");
|
|
17134
17165
|
}, style: "transition: opacity 0.5s; display: inline-block; height: 24px; width: 24px; padding-left: 4px; position: absolute; top: 50%; background-color: black;border-radius: 8px; right: 0px; padding-top: 2px; cursor: pointer;" }, /* @__PURE__ */ jsx_default.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 1024 1024" }, /* @__PURE__ */ jsx_default.h("path", { fill: "white", d: "M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-253.696l236.288-236.352l45.248 45.248L508.8 704L192 387.2l45.248-45.248L480 584.704V128h64z" }))));
|
|
@@ -17246,6 +17277,27 @@ var PlaybackBar = class extends Plugin {
|
|
|
17246
17277
|
}
|
|
17247
17278
|
this.dispatch("changeVolume", { volume: this.volumeCurrent });
|
|
17248
17279
|
}
|
|
17280
|
+
onOptionChange(speed) {
|
|
17281
|
+
this.dispatch("playSpeedChange", { speed });
|
|
17282
|
+
}
|
|
17283
|
+
globalClick() {
|
|
17284
|
+
window.removeEventListener("click", this.globalClickTemp);
|
|
17285
|
+
this.toggleOptionsContent(true);
|
|
17286
|
+
}
|
|
17287
|
+
toggleOptionsContent(isHide) {
|
|
17288
|
+
const ele = this.optionsContent;
|
|
17289
|
+
if (isHide) {
|
|
17290
|
+
ele.style.display = "none";
|
|
17291
|
+
} else {
|
|
17292
|
+
if (ele.style.display == "block") {
|
|
17293
|
+
ele.style.display = "none";
|
|
17294
|
+
} else {
|
|
17295
|
+
ele.style.display = "block";
|
|
17296
|
+
this.globalClickTemp = this.globalClick.bind(this);
|
|
17297
|
+
window.addEventListener("click", this.globalClickTemp);
|
|
17298
|
+
}
|
|
17299
|
+
}
|
|
17300
|
+
}
|
|
17249
17301
|
isPlaying() {
|
|
17250
17302
|
var _a;
|
|
17251
17303
|
return !!((_a = this.svgPause) == null ? void 0 : _a.parentNode);
|
|
@@ -17306,7 +17358,7 @@ var PlaybackBar = class extends Plugin {
|
|
|
17306
17358
|
const rightPanel = this.controls.rightControls ? this.controls.rightControls : (() => {
|
|
17307
17359
|
this.controls.rightControls = core_default.dom.createByJsx(/* @__PURE__ */ jsx_default.h("span", { class: "right-options" }));
|
|
17308
17360
|
core_default.dom.append(this.svgSound, this.svgSound100);
|
|
17309
|
-
core_default.dom.append(this.controls.rightControls, this.svgSound, this.svgFullscreen, this.svgOptions);
|
|
17361
|
+
core_default.dom.append(this.controls.rightControls, this.svgSound, this.playSpeed, this.svgFullscreen, this.svgOptions, this.optionsContent);
|
|
17310
17362
|
return this.controls.rightControls;
|
|
17311
17363
|
})();
|
|
17312
17364
|
const barContent = this.controls.barContent ? this.controls.barContent : this.controls.barContent = core_default.dom.createByJsx(
|
|
@@ -17459,6 +17511,9 @@ var MarkerHandle = class extends Plugin {
|
|
|
17459
17511
|
}
|
|
17460
17512
|
init(_container, layoutInfo) {
|
|
17461
17513
|
if (this.createParams.displayMode == "playback") {
|
|
17514
|
+
if (_container) {
|
|
17515
|
+
this.playArea = _container;
|
|
17516
|
+
}
|
|
17462
17517
|
return _container;
|
|
17463
17518
|
}
|
|
17464
17519
|
if (layoutInfo) {
|
|
@@ -17840,6 +17895,11 @@ var PlayBack = (props) => {
|
|
|
17840
17895
|
videoEle.currentTime = params == null ? void 0 : params.targetSeconds;
|
|
17841
17896
|
}
|
|
17842
17897
|
};
|
|
17898
|
+
barHandle.addEventListener("playSpeedChange", (params) => {
|
|
17899
|
+
if (params) {
|
|
17900
|
+
videoEle.playbackRate = params.speed;
|
|
17901
|
+
}
|
|
17902
|
+
});
|
|
17843
17903
|
handle2.close = () => {
|
|
17844
17904
|
videoEle.src = "";
|
|
17845
17905
|
markerHandle.destroy();
|
|
@@ -17911,6 +17971,18 @@ var PlayBack = (props) => {
|
|
|
17911
17971
|
hplayer.setVolume(data.volume / 100);
|
|
17912
17972
|
}
|
|
17913
17973
|
});
|
|
17974
|
+
barHandle.addEventListener("playSpeedChange", (params) => __async(this, null, function* () {
|
|
17975
|
+
if (params && playbackInfo.data) {
|
|
17976
|
+
const isPlaying = barHandle.isPlaying();
|
|
17977
|
+
const data = yield hplayer == null ? void 0 : hplayer.getPlayerStatistic();
|
|
17978
|
+
const ptsVideo = Number(data.data.mediaStatisticInfo.videoStatistic.lastvideopts) / 1e6;
|
|
17979
|
+
yield playbackController.seek({ scale: params.speed, range: [Number(ptsVideo.toFixed(4)), playbackInfo.data.range[1]] });
|
|
17980
|
+
yield hplayer == null ? void 0 : hplayer.playbackStart(params.speed);
|
|
17981
|
+
if (!isPlaying) {
|
|
17982
|
+
yield hplayer == null ? void 0 : hplayer.playbackStop();
|
|
17983
|
+
}
|
|
17984
|
+
}
|
|
17985
|
+
}));
|
|
17914
17986
|
if (playbackInfo.data) {
|
|
17915
17987
|
barHandle.updata({
|
|
17916
17988
|
total: playbackInfo.data.range[1],
|
|
@@ -11,6 +11,9 @@ interface IPlaybackBarEventMap extends IPluginEventMap {
|
|
|
11
11
|
volume: number;
|
|
12
12
|
};
|
|
13
13
|
download: {};
|
|
14
|
+
playSpeedChange: {
|
|
15
|
+
speed: number;
|
|
16
|
+
};
|
|
14
17
|
}
|
|
15
18
|
declare class PlaybackBar extends Plugin<HTMLDivElement, IPlaybackBarEventMap> {
|
|
16
19
|
private content;
|
|
@@ -44,9 +47,17 @@ declare class PlaybackBar extends Plugin<HTMLDivElement, IPlaybackBarEventMap> {
|
|
|
44
47
|
private svgSound100;
|
|
45
48
|
private svgSound;
|
|
46
49
|
private svgFullscreen;
|
|
50
|
+
private optionsValues;
|
|
51
|
+
private currenSpeed;
|
|
52
|
+
private optionsContent;
|
|
53
|
+
private onOptionChange;
|
|
54
|
+
private globalClick;
|
|
55
|
+
private globalClickTemp;
|
|
56
|
+
private toggleOptionsContent;
|
|
47
57
|
private svgOptions;
|
|
58
|
+
private playSpeed;
|
|
48
59
|
private svgDownload;
|
|
49
|
-
|
|
60
|
+
isPlaying(): boolean;
|
|
50
61
|
private controls;
|
|
51
62
|
private display;
|
|
52
63
|
getPlaySlice(): [number, number];
|