将功能限制为 1 次执行 youtube 播放器 api
Limit function to 1 execution youtube player api
所以基本上我嵌入了一个不应该自动播放的视频,播放时静音,代码工作正常但我只希望它 运行 onStateChange 函数一次,否则每当你 play/pause video 它将视频静音。有谁知道如何将该功能限制为单次执行?非常感谢帮助:)
function onYouTubeIframeAPIReady() {
player = new YT.Player('video-placeholder', {
videoId: 'sAhYEfQ1168',
playerVars: {
'autoplay': 0,
'controls': 0,
'autohide': 1,
'wmode': 'opaque',
'showinfo': 0,
'loop': 1,
'fs':0,
'rel':0
},
events: {
'onReady': onPlayerReady
}
});
}
function onPlayerReady(event) {
player.mute();
}
您可以将 player.events
对象的 onReady
属性 设置为 null
在 onPlayerReady
函数
的最后一行
function onPlayerReady(event) {
player.mute();
player.events.onReady = null;
}
似乎"onStateChange"使用了以下状态:
-1 (unstarted)
0 (ended)
1 (playing)
2 (paused)
3 (buffering)
5 (video cued)
文档:https://developers.google.com/youtube/iframe_api_reference?hl=de
a数据为“-1”的事件似乎只在第一个运行上执行了一次。
这是一个例子:
如果您只想将视频静音,您还可以查看 "onReady" 事件。
所以基本上我嵌入了一个不应该自动播放的视频,播放时静音,代码工作正常但我只希望它 运行 onStateChange 函数一次,否则每当你 play/pause video 它将视频静音。有谁知道如何将该功能限制为单次执行?非常感谢帮助:)
function onYouTubeIframeAPIReady() {
player = new YT.Player('video-placeholder', {
videoId: 'sAhYEfQ1168',
playerVars: {
'autoplay': 0,
'controls': 0,
'autohide': 1,
'wmode': 'opaque',
'showinfo': 0,
'loop': 1,
'fs':0,
'rel':0
},
events: {
'onReady': onPlayerReady
}
});
}
function onPlayerReady(event) {
player.mute();
}
您可以将 player.events
对象的 onReady
属性 设置为 null
在 onPlayerReady
函数
function onPlayerReady(event) {
player.mute();
player.events.onReady = null;
}
似乎"onStateChange"使用了以下状态:
-1 (unstarted)
0 (ended)
1 (playing)
2 (paused)
3 (buffering)
5 (video cued)
文档:https://developers.google.com/youtube/iframe_api_reference?hl=de
a数据为“-1”的事件似乎只在第一个运行上执行了一次。
这是一个例子:
如果您只想将视频静音,您还可以查看 "onReady" 事件。