gpt4 book ai didi

javascript - YouTube iframe 播放器 api 仅在播放列表末尾触发事件 END

转载 作者:行者123 更新时间:2023-11-28 01:14:29 25 4
gpt4 key购买 nike

经过一次又一次的检查,我注意到如果我加载播放列表:

player.loadPlaylist(videoCodeList, start);

然后,在播放列表中的每个视频结束后,我不会触发 ENDED 事件,而只会在播放列表本身的末尾触发。

对于单个视频播放列表,ENDED 事件会在视频结束时触发。
如果有人注意到这一点,为什么会这样呢?
我想要实现的目标是,如果用户要求仅播放
单首歌曲,即使它是播放列表的一部分,也可以在视频结束时停止视频。

<html>
<body>
<div id="player"></div>
<script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var videoCodeList = playlistObject.getCodeList();

var player;
function onYouTubeIframeAPIReady() {

player = new YT.Player('player', {
height: '390',
width: '640',
playerVars:{rel:0, showinfo:0},
events: {
'onReady': onPlayerReady
,'onStateChange': onPlayerStateChange
}

});
}


function onPlayerReady(event) {
var start = playlistObject.getStart();
player.loadPlaylist(videoCodeList, start);

}


function onPlayerStateChange(event) {
if (event.data == 0 && playSingle.findChecked()){
player.stopVideo();


}
}

</script>
</body>
</html>""")

最佳答案

我希望我的问题在我一次又一次检查了几个小时但没有解决方案后指出了一个真正的问题。
我还在“问题 6408”下发布了“报告错误”,希望报告真正存在的问题。

与此同时,我解决了这个问题:
我使用 QtWebKit 桥接技术在 javascript 代码中添加了信号/槽连接:(playSingle 是暴露于 javascript 代码的 QAction)

playSingle.toggled.connect(playCurrentOnly);

每次按下工具栏按钮选择“播放单首歌曲”时,playSingle 操作都会触发信号切换。
并添加了“playCurrentOnly”函数来在 JavaScript 代码中处理此信号:

function playCurrentOnly(){
var currentTime = player.getCurrentTime();
player.stopVideo();
player.seekTo(currentTime, true);

在继续播放歌曲之前只需稍作短暂的暂停即可正常工作。

关于javascript - YouTube iframe 播放器 api 仅在播放列表末尾触发事件 END,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24005200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com