获取播放器的当前状态(Youtube API)
Get current state of Player (Youtube API)
是否有任何函数可以获取 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
}
});
}
#通过onStateChange
API 触发事件通知您的应用程序有关内置播放器的更改。 API 将传递一个事件对象,对于以下每种类型的状态都是唯一的:
- YT.PlayerState.ENDED 或 0
- YT.PlayerState.PLAYING 或 1
- YT.PlayerState.PAUSED 或 2
- YT.PlayerState.BUFFERING 或 3
- YT.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 – 提示
是否有任何函数可以获取 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
}
});
}
#通过onStateChange
API 触发事件通知您的应用程序有关内置播放器的更改。 API 将传递一个事件对象,对于以下每种类型的状态都是唯一的:
- YT.PlayerState.ENDED 或 0
- YT.PlayerState.PLAYING 或 1
- YT.PlayerState.PAUSED 或 2
- YT.PlayerState.BUFFERING 或 3
- YT.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 – 提示