285 lines
8.7 KiB
JavaScript
285 lines
8.7 KiB
JavaScript
// Module ID: 14432
|
|
// Function ID: 110313
|
|
// Name: PLAYER_FUNCTIONS
|
|
// Dependencies: [7659, 77, 14428]
|
|
// Exports: MAIN_SCRIPT
|
|
|
|
// Module 14432 (PLAYER_FUNCTIONS)
|
|
import module_7659 from "module_7659";
|
|
import _defineProperty from "_defineProperty";
|
|
|
|
let obj = {
|
|
muteVideo: "player.mute(); true;",
|
|
unMuteVideo: "player.unMute(); true;",
|
|
playVideo: "player.playVideo(); true;",
|
|
pauseVideo: "player.pauseVideo(); true;",
|
|
getVideoUrlScript: "\nwindow.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'getVideoUrl', data: player.getVideoUrl()}));\ntrue;\n ",
|
|
durationScript: "\nwindow.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'getDuration', data: player.getDuration()}));\ntrue;\n",
|
|
currentTimeScript: "\nwindow.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'getCurrentTime', data: player.getCurrentTime()}));\ntrue;\n",
|
|
isMutedScript: "\nwindow.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'isMuted', data: player.isMuted()}));\ntrue;\n",
|
|
getVolumeScript: "\nwindow.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'getVolume', data: player.getVolume()}));\ntrue;\n",
|
|
getPlaybackRateScript: "\nwindow.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'getPlaybackRate', data: player.getPlaybackRate()}));\ntrue;\n",
|
|
getAvailablePlaybackRatesScript: "\nwindow.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'getAvailablePlaybackRates', data: player.getAvailablePlaybackRates()}));\ntrue;\n",
|
|
setVolume(arg0) {
|
|
return "player.setVolume(" + arg0 + "); true;";
|
|
},
|
|
seekToScript(arg0, arg1) {
|
|
return "player.seekTo(" + arg0 + ", " + arg1 + "); true;";
|
|
},
|
|
setPlaybackRate(arg0) {
|
|
return "player.setPlaybackRate(" + arg0 + "); true;";
|
|
},
|
|
loadPlaylist(playList, arg1, closure_2) {
|
|
let num = arg1;
|
|
if (!arg1) {
|
|
num = 0;
|
|
}
|
|
let str = "cuePlaylist";
|
|
if (closure_2) {
|
|
str = "loadPlaylist";
|
|
}
|
|
let str2 = "undefined";
|
|
let str3 = "undefined";
|
|
if ("string" === typeof playList) {
|
|
str3 = `${"\"" + playList}"`;
|
|
}
|
|
let str5 = str2;
|
|
if ("string" === typeof playList) {
|
|
str5 = "\"undefined\"";
|
|
}
|
|
if (Array.isArray(playList)) {
|
|
str2 = `${"\"" + playList.join(",")}"`;
|
|
}
|
|
return "player." + str + "({listType: " + str5 + ", list: " + str3 + ", playlist: " + str2 + ", index: " + num + "}); true;";
|
|
},
|
|
loadVideoById(videoId, closure_2) {
|
|
let str = "cueVideoById";
|
|
if (closure_2) {
|
|
str = "loadVideoById";
|
|
}
|
|
return "player." + str + "({videoId: " + JSON.stringify(videoId) + "}); true;";
|
|
}
|
|
};
|
|
obj = {};
|
|
_defineProperty.default(obj, require("module_14428").PLAY_MODE, obj.playVideo);
|
|
_defineProperty.default(obj, require("module_14428").PAUSE_MODE, obj.pauseVideo);
|
|
const obj1 = {};
|
|
_defineProperty.default(obj1, require("module_14428").MUTE_MODE, obj.muteVideo);
|
|
_defineProperty.default(obj1, require("module_14428").UNMUTE_MODE, obj.unMuteVideo);
|
|
|
|
export const PLAYER_FUNCTIONS = obj;
|
|
export const playMode = obj;
|
|
export const soundMode = obj1;
|
|
export const MAIN_SCRIPT = function MAIN_SCRIPT(current, current2, current3, closure_12, arg4) {
|
|
let cc_lang_pref;
|
|
let color;
|
|
let controls;
|
|
let end;
|
|
let iv_load_policy;
|
|
let loop;
|
|
let playerLang;
|
|
let start;
|
|
let str = current;
|
|
({ end, color, start, playerLang, loop } = current3);
|
|
let tmp = undefined !== loop;
|
|
if (tmp) {
|
|
tmp = loop;
|
|
}
|
|
({ cc_lang_pref, iv_load_policy, controls } = current3);
|
|
let tmp2 = undefined === controls;
|
|
if (!tmp2) {
|
|
tmp2 = controls;
|
|
}
|
|
const preventFullScreen = current3.preventFullScreen;
|
|
let num = 0;
|
|
if (current3.rel) {
|
|
num = 1;
|
|
}
|
|
let num2 = 0;
|
|
if (tmp) {
|
|
num2 = 1;
|
|
}
|
|
if (!str) {
|
|
str = "";
|
|
}
|
|
let num3 = 0;
|
|
if (tmp2) {
|
|
num3 = 1;
|
|
}
|
|
if (!cc_lang_pref) {
|
|
cc_lang_pref = "";
|
|
}
|
|
let num4 = 0;
|
|
if (current3.modestbranding) {
|
|
num4 = 1;
|
|
}
|
|
let num5 = 1;
|
|
let num6 = 1;
|
|
if (undefined !== preventFullScreen) {
|
|
num6 = num5;
|
|
if (preventFullScreen) {
|
|
num6 = 0;
|
|
}
|
|
}
|
|
let num7 = 0;
|
|
if (current3.showClosedCaptions) {
|
|
num7 = num5;
|
|
}
|
|
if ("number" === typeof arg4) {
|
|
num5 = arg4;
|
|
}
|
|
let tmp4;
|
|
if ("string" === typeof current2) {
|
|
tmp4 = current2;
|
|
}
|
|
let str2;
|
|
if ("string" === typeof current2) {
|
|
str2 = "playlist";
|
|
}
|
|
const text = `initial-scale=${num5}`;
|
|
let text1 = text;
|
|
if (!closure_12) {
|
|
text1 = `initial-scale=${num5}${", maximum-scale=" + num5}`;
|
|
}
|
|
let obj = { end, list: tmp4, start, color, rel_s: num, loop_s: num2, listType: str2 };
|
|
let joined;
|
|
if (Array.isArray(current2)) {
|
|
joined = current2.join(",");
|
|
}
|
|
obj.playlist = joined;
|
|
obj.videoId_s = str;
|
|
obj.controls_s = num3;
|
|
obj.playerLang = playerLang;
|
|
obj.iv_load_policy = iv_load_policy;
|
|
obj.contentScale_s = num5;
|
|
obj.cc_lang_pref_s = cc_lang_pref;
|
|
obj.allowWebViewZoom = closure_12;
|
|
obj.modestbranding_s = num4;
|
|
obj.preventFullScreen_s = num6;
|
|
obj.showClosedCaptions_s = num7;
|
|
obj = {};
|
|
let str5 = "";
|
|
let str6 = "";
|
|
const text2 = `
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta
|
|
name="viewport"
|
|
content="width=device-width, ${tmp6}"
|
|
>
|
|
<style>
|
|
body {
|
|
margin: 0;
|
|
}
|
|
.container {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 0;
|
|
padding-bottom: 56.25%;
|
|
}
|
|
.video {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="video" id="player" />
|
|
</div>
|
|
|
|
<script>
|
|
var tag = document.createElement('script');
|
|
|
|
tag.src = "https://www.youtube.com/iframe_api";
|
|
var firstScriptTag = document.getElementsByTagName('script')[0];
|
|
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
|
|
|
var player;
|
|
function onYouTubeIframeAPIReady() {
|
|
player = new YT.Player('player', {
|
|
width: '1000',
|
|
height: '1000',
|
|
videoId: '${str}`;
|
|
if (tmp4) {
|
|
str6 = `${"list: '" + tmp4}',`;
|
|
}
|
|
let text3 = str5;
|
|
if (str2) {
|
|
text3 = `${"listType: '" + tmp4}',`;
|
|
}
|
|
if (current2) {
|
|
str5 = `${"playlist: '" + current2}',`;
|
|
}
|
|
obj.htmlString = `${tmp8}',
|
|
playerVars: {
|
|
${str6}
|
|
${tmp9}
|
|
${str5}
|
|
|
|
end: ${end},
|
|
rel: ${num},
|
|
playsinline: 1,
|
|
loop: ${num2},
|
|
color: ${color},
|
|
start: ${start},
|
|
hl: ${playerLang},
|
|
controls: ${num3},
|
|
fs: ${num6},
|
|
cc_lang_pref: '${cc_lang_pref}',
|
|
iv_load_policy: ${iv_load_policy},
|
|
modestbranding: ${num4},
|
|
cc_load_policy: ${num7},
|
|
},
|
|
events: {
|
|
'onReady': onPlayerReady,
|
|
'onStateChange': onPlayerStateChange,
|
|
'onError': onPlayerError,
|
|
'onPlaybackQualityChange': onPlaybackQualityChange,
|
|
'onPlaybackRateChange': onPlaybackRateChange,
|
|
}
|
|
});
|
|
}
|
|
|
|
function onPlayerError(event) {
|
|
window.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'playerError', data: event.data}))
|
|
}
|
|
|
|
function onPlaybackRateChange(event) {
|
|
window.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'playbackRateChange', data: event.data}))
|
|
}
|
|
|
|
function onPlaybackQualityChange(event) {
|
|
window.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'playerQualityChange', data: event.data}))
|
|
}
|
|
|
|
function onPlayerReady(event) {
|
|
window.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'playerReady'}))
|
|
}
|
|
|
|
var done = false;
|
|
function onPlayerStateChange(event) {
|
|
window.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'playerStateChange', data: event.data}))
|
|
}
|
|
|
|
var isFullScreen = false;
|
|
function onFullScreenChange() {
|
|
isFullScreen = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;
|
|
window.ReactNativeWebView.postMessage(JSON.stringify({eventType: 'fullScreenChange', data: Boolean(isFullScreen)}));
|
|
}
|
|
|
|
document.addEventListener('fullscreenchange', onFullScreenChange)
|
|
document.addEventListener('mozfullscreenchange', onFullScreenChange)
|
|
document.addEventListener('msfullscreenchange', onFullScreenChange)
|
|
document.addEventListener('webkitfullscreenchange', onFullScreenChange)
|
|
</script>
|
|
</body>
|
|
</html>
|
|
`;
|
|
obj.urlEncodedJSON = encodeURI(JSON.stringify(obj));
|
|
return obj;
|
|
};
|