我正在尝试使用YouTube上传窗口小部件的onStateChange事件侦听器来调用另一个函数,具体取决于上传窗口小部件的状态,但我似乎无法让onStateChange事件侦听器使用上传窗口小部件。请参阅下面的代码。奇怪的是,当我使用相同的技术为iframe播放器单独添加onStateChange监听器时,它的工作正常。有人有什么好主意吗?或者上传小部件api只是错误吗?
<script>
var player;
var widget;
function onYouTubeIframeAPIReady() {
player1 = new YT.Player('player1', {
events: {
}
}
);
widget = new YT.UploadWidget('widget', {
events: {
'onStateChange': onWidgetStateChange,
'onUploadSuccess': onUploadSuccess,
'onProcessingComplete': onProcessingComplete
}
});
}
function onWidgetStateChange(event) {
if (event.data == YT.UploadWidgetState.RECORDING) {
player1.playVideo();
}
}
function onUploadSuccess(event) {
alert('Video ID ' + event.data.videoId + ' was uploaded and is currently being processed.');
}
function onProcessingComplete(event) {
player = new YT.Player('player', {
height: 390,
width: 640,
videoId: event.data.videoId,
events: {
}
});
}
答案 0 :(得分:0)
我认为您的问题是需要将event.data == YT.UploadWidgetState.RECORDING
更改为event.data.state == YT.UploadWidgetState.RECORDING
在做出改变时,我能够组合一个几乎可以做你想做的jsfiddle:http://jsfiddle.net/jeffposnick/yhWsG/35/