Reputation: 123
is there any function to get the current state of the Youtube API player ?
I want to write a function to run a command if player current state is 1 (playing), but i can't find anything on the reference page.
p/s: i already know the onStageChange, i need the check current state
my create player code:
var player;
window.onYouTubeIframeAPIReady = function () {
console.log('onYouTubeIframeAPIReady');
player = new YT.Player('video_player', {
// playerVars: { 'enablejsapi':1,'autoplay':0,'controls':0,'rel':0,'showinfo':0,'egm':0,'showsearch':0,'modestbranding':1,'iv_load_policy':3,'disablekb':0,'loop':0},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': onPlayerError
}
});
}
Upvotes: 3
Views: 5296
Reputation: 604
# By onStateChange
The API triggers events to notify your application about changes to the built-in player. The API will pass an event object as unique for each of the following types of states:
Exemple:
...
onPlayerStateChange(event) {
if (event.data == YT.PlayerState.ENDED) {
console.log("Video Ended");
}
if (event.data == YT.PlayerState.PLAYING) {
console.log("Video Playing");
}
if (event.data == YT.PlayerState.PAUSED) {
console.log("Video Paused");
}
if (event.data == YT.PlayerState.BUFFERING) {
console.log("Video Buffering");
}
if (event.data == YT.PlayerState.CUED) {
console.log("Video Cued");
}
},
...
# By getPlayerState()
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '360',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
console.log(player.getPlayerState());
The possible values for getPlayerState()
are:
Upvotes: 6