【问题标题】:YouTube Embed Javascript API showing a duration of 0 in onPlayerReadyYouTube Embed Javascript API 在 onPlayerReady 中显示持续时间为 0
【发布时间】:2014-04-09 18:06:23
【问题描述】:
以下代码在 Internet Explorer 中无法用于 YouTube 嵌入 javascript API。那 getDuration() 显示 0?这适用于 Chrome 和 Firefox。是否有任何报告的错误或修复?就好像它被调用但没有为视频初始化任何参数。
function onPlayerReady(event) {
self.videoDuration = event.target.getDuration();
}
【问题讨论】:
标签:
javascript
internet-explorer
youtube
youtube-api
youtube-javascript-api
【解决方案1】:
所以我没有保存对之前运行良好的播放器的引用。一旦我添加了下面的变量,它就开始工作了。
var player;
function loadPlayer(startTime, endTime) {
player = new YT.Player('player', {
...
}
这仍然发生,所以我在此方法中添加了双重检查。
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.ENDED) {
if (self.videoDuration == 0)
self.videoDuration = event.target.getDuration();
}
}