>是否有任何函数可以获取Youtube API播放器的当前状态?我想编写一个函数来在玩家当前状态为 1(正在播放(时运行命令,但我在参考页面上找不到任何内容。
p/s:我已经知道onStageChange,我需要检查当前状态我的创建播放器代码:
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
}
});
}
# by onStateChange
API 触发事件以通知应用程序有关内置播放器的更改。对于以下每种类型的状态,API 将传递一个唯一的事件对象:
- 刘日东。PlayerState.END 或 0
- 刘日东。PlayerState.PLAY 或 1
- 刘日东。玩家状态.暂停 或 2
- 刘日东。PlayerState.BUFFERING 或 3
- 刘日东。PlayerState.CUED 或 5
示例:
...
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");
}
},
...
# 通过 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());
getPlayerState()
的可能值为:
- -1 – 未初始化
- 0 – 已结束
- 1 – 播放
- 2 – 已暂停
- 3 – 缓冲
- 5 – 提示