我已经阅读了类似的问题,但没有一个对我的情况有帮助。
以下是我的YouTube iframe
:
<iframe id="myframe" style="border: solid 4px #37474F; ">
</iframe>
我动态添加了src
属性。
这是我的播放器:
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('myframe', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
我正在尝试player.getCurrentTime();
和player.getDuration();
,但两者都继续提供未定义的&#34;功能&#34;错误。
答案 0 :(得分:1)
YouTube播放器API不会在构造函数中设置player.getCurrentTime
,而是稍后(可能在加载视频时)。可能,这是一个错误。
要确保这是真的,请在每次通话前添加console.log(player.getCurrentTime)
。您最初会看到undefined
,稍后会更改为函数。
通过测试player.getCurrentTime
是否存在来解决此问题。如果不是,则假设返回值为0.0
。例如:
var videoPos = !player.getCurrentTime ? 0.0 : player.getCurrentTime();
getDuration
似乎也出现了同样的问题。
答案 1 :(得分:0)
正如我们所说,这可能是一个错误。这是另一个解决方案:
var yourVariable = player.getCurrentTime() || 0;