大家好,我正在使用YT api播放一些视频,但我想在视频播放完成后创建一些功能。有什么办法可以找到视频有多长?
function onPlayerReady() {
function updateTime() {
var oldTime = videotime;
if(player && player.getCurrentTime) {
videotime = player.getCurrentTime();
}
if(videotime !== oldTime) {
onProgress(videotime);
}
}
timeupdater = setInterval(updateTime, 100);
}
// when the time changes, this will be called.
function onProgress(currentTime) {
console.log(videotime)
var halfway = (videotime / 2);
if(currentTime == halfway) {
counters("midpoint");
console.log("the video has reached halfway!");
}
}
我正在使用这个来查看时间
答案 0 :(得分:0)
使用找到here的“视频”列表API。您想要part属性的“contentDetails”。然后它应该作为contentDetails.duration
返回答案 1 :(得分:0)
嗯,你需要改变许多事情。
player.getPlayerState()
,1表示'正在播放'onProgress()
中你将计算中途的比较作为视频(currentTime)除以2,这不是玩家的持续时间。最终和缩短的代码:
function onPlayerReady() {
timeupdater = setInterval(function() {
if (player.getPlayerState() == 1)
onProgress(player);
}, 100);
}
// when the time changes, this will be called.
function onProgress(p) {
if(p.getCurrentTime() > p.getDuration() / 2) {
// counters("midpoint");
console.log("the video has reached halfway!");
}
}
希望对你有用:)