Youtube 对象 #<S>没有方法“播放视频" [英] Youtube Object #<S> has no method 'playVideo'

查看:35
本文介绍了Youtube 对象 #<S>没有方法“播放视频"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个使用 javascript 启动的 youtube 播放.

I'm trying to create a youtube-playback initiated with javascript.

我像这样启动了一个 youtubeplayer:

I initiate a youtubeplayer like this:

var player;
function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
        height: '720',
        width: '1280',
        html5: 0,
        videoId: 'i8IXMGHpGBk',
        playerVars: {'modestbranding': 1, 'controls': 1,'showinfo': 0 },
        events: {
            'onStateChange': function(e) {
                if (e.data === 0) {
                    //skrolla här
                }
            }
        }
    });
}

之后,我有一个功能来启动播放器,如下所示:

Afterwards, I have a function to start the player, like this:

函数播放视频(){player.playVideo();}

function playvideo(){ player.playVideo(); }

根据文档,播放器对象应该具有此方法.

the player object should have this method according to the docs.

由于某种原因,我收到错误

For some reason, I get the error

TypeError: Object #<S> has no method 'playVideo'
    at Object.Video.$scope.play (file://localhost/Users/kristoffer.nolgren/web/blossa2013dev/js/main.js:7:10)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:74:98
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:156:140
    at Object.e.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:92:272)
    at Object.e.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:92:379)
    at HTMLDivElement.<anonymous> (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:156:122)
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:24:49
    at Array.forEach (native)
    at n (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:6:470)
    at HTMLDivElement.c (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:24:20)

我认为 angular 会干扰 youtube api,但我不明白如何.

I assume angular is interfering with the youtube api, but I don't understan how.

这里是玩家对象的第一层:

here is the first level of the player-object:

Y {b: nb, a: iframe#player, i: div#player, id: 1, d: 2…}
a: iframe#player
b: nb
closure_uid_954797855: 1
d: 3
g: O
h: Object
i: div#player
id: 1
k: Object
o: "player"
s: Array[1]
t: false

推荐答案

对于有此问题的其他人:检查您提供给

For anyone else that has this prob: check the ID you're providing to

new YT.Player() 

实际存在于文档中.

这篇关于Youtube 对象 #&lt;S&gt;没有方法“播放视频"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆