我创建了一个按钮,可以在点击时暂停并播放YouTube视频。我正在尝试检查视频是否已经暂停,如果是这样播放,如果播放则暂停。is暂停不是一个函数。我正在寻找什么功能?
document.getElementById("playButton").addEventListener('click', function (event) {
if(!!player.isPaused()){
player.playVideo();
}
else {
player.pauseVideo();
}
});
如果没有关于 HTML 控件的模式详细信息,我认为您正在使用 HTML 元素来控制视频的复制(播放)和暂停功能。
如果是这样,在onPlayerStateChange
函数中,您必须按如下方式设置逻辑:
// 5. The API calls this function when the player's state changes.
function onPlayerStateChange(event) {
// If the video is PLAYING, set the onclick element for pause the video.
// Once the "playButton" is clicked, the video will be paused.
if (event.data == YT.PlayerState.PLAYING) {
document.getElementById('playButton').innerHTML = 'Pause';
// Set the onclick event to the button for pause the YouTube video.
document.getElementById('playButton').onclick = function() {
player.pauseVideo();
};
}
// If the video is PAUSED, set the onclick element for pause the video.
// Once the "playButton" is clicked, the video will resume the video = continue playing the video.
if (event.data == YT.PlayerState.PAUSED) {
document.getElementById('playButton').innerHTML = 'Play';
document.getElementById('playButton').onclick = function() {
player.playVideo();
};
}
}
此函数是根据 YouTube 播放器 API 文档中的可用示例代码修改的。
这是一个工作 jsfiddle 示例。
根据您的
要求,您应该使用 YouTube 播放器 API 的player.getPlayerState()
函数,它将播放器的播放状态返回为:
- -1 – 未启动
- 0 – 已结束
- 1 – 播放
- 2 – 已暂停
- 3 – 缓冲
- 5 – 视频提示
因此,您的代码应更新为:
document.getElementById("playButton").addEventListener('click', function (event) {
if(player.getPlayerState()==1){ //Returns true if video is playing
player.pauseVideo();
}else{
player.playVideo();
}
});