react-native-yt-player
Version:
Youtube Player for React Native
2 lines • 2.08 kB
JavaScript
import _objectSpread from"@babel/runtime/helpers/objectSpread";import YouTubePlayer from"youtube-player";import invoke from"react-native-webview-invoke/browser";var player;var duration=0;var isPaused=false;var _window=window,innerWidth=_window.innerWidth,innerHeight=_window.innerHeight;var width="100%";var height="100%";var onReady=invoke.bind("onReady");var onError=invoke.bind("onError");var onStateChange=invoke.bind("onStateChange");var onPlaybackRateChange=invoke.bind("onPlaybackRateChange");var onPlaybackQualityChange=invoke.bind("onPlaybackQualityChange");var onPlaying=invoke.bind("onPlaying");var onDurationReady=invoke.bind("onDurationReady");var _onStateChange=function _onStateChange(_ref){var data=_ref.data;if(data===1&&duration===0){_setDuration();_setCurrentTime();}if(data!==1)isPaused=true;else isPaused=false;onStateChange(data);};var createPlayer=function createPlayer(opts){var options=_objectSpread({width:width,height:height},opts,{playerVars:_objectSpread({enablejsapi:1,autoplay:0,rel:0,controls:0,playsinline:1,modestbranding:1,showinfo:0},opts.playerVars)});player=YouTubePlayer("player",options);player.on("ready",onReady);player.on("error",onError);player.on("stateChange",_onStateChange);player.on("playbackRateChange",onPlaybackRateChange);player.on("playbackQualityChange",onPlaybackQualityChange);if(opts.playerVars&&opts.playerVars.autoplay)playVideo();};var playVideo=function playVideo(){player.playVideo().then(function(){});};var pauseVideo=function pauseVideo(){player.pauseVideo().then(function(){});};var seekTo=function seekTo(s){player.seekTo(s).then(function(){});};var _setDuration=function _setDuration(){return player.getDuration().then(function(s){duration=s;onDurationReady(s);});};var _setCurrentTime=function _setCurrentTime(){setInterval(function(){if(!isPaused)player.getCurrentTime().then(function(s){return onPlaying(s);});},500);};invoke.define("createPlayer",createPlayer);invoke.define("playVideo",playVideo);invoke.define("pauseVideo",pauseVideo);invoke.define("seekTo",seekTo);
//# sourceMappingURL=index.js.map