gpt4 book ai didi

javascript - jwplayer 6 在播放列表中寻找元素不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:31:54 25 4
gpt4 key购买 nike

我们正在使用外部洗涤器(不是默认搜索栏的 UI 元素)进行搜索(通过 jquery ui 可拖动)并且它没有在应该更新 jwplayer 时更新它。

我们的代码概要:

$('#scrubber').draggable({

// ...

stop: function (event, ui) {

$('#scrubber').draggable('enable');

var intSecFromEnd,
intSeek,
intTotalTime = 0,
intScrubPosition = ui.position.left,
intScrubTime = intScrubPosition;

// Find which video in the playlist to use
$.each(playlist, function (i, obj) {

intTotalTime += parseInt(obj.duration);

if (intTotalTime > (intScrubTime)) {

intSecFromEnd = intTotalTime - parseInt(intScrubTime);
intSeek = Math.floor((parseInt(obj.duration) - intSecFromEnd));

jwplayer('videoPlayer').load(playlist);
jwplayer('videoPlayer').playlistItem(i);
jwplayer('videoPlayer').seek(intSeek);
jwplayer('videoPlayer').pause();


/*
Play the video for 1 second to refresh the video player, so it is correctly displaying the current point in the video
Does not work either
*/
// setTimeout(function () {
// jwplayer('videoPlayer').pause();
// }, 1000);

return false;
}
});
}
});

您会注意到关键位:

jwplayer('videoPlayer').load(playlist);
jwplayer('videoPlayer').playlistItem(i);
jwplayer('videoPlayer').seek(intSeek);
jwplayer('videoPlayer').pause();

当我将它直接放入控制台时,它带有一个整数值,其中 intSeek 是正常工作的,所以我很困惑可能在哪里断开连接。

变体(仅适用于播放列表中的一项)

这仅适用于播放列表的第一个成员,因为 seek() 函数默认为播放列表中的元素 0

jwplayer('videoPlayer').load(playlist);
jwplayer('videoPlayer').seek(intSeek);
jwplayer('videoPlayer').pause();

自然地,jwplayer('videoPlayer').playlistItem(i) 会在我们想要的索引处检索项目,并且根据文档,应该:

Start playback of the playlist item at the specified index.

但是,由于这实际上是第一个示例中的内容,所以它不起作用。

注意事项

  • 当从播放器外部触发 .seek() 方法时,onSeek() 方法永远不会被 jwplayer 触发。

  • 放入以下内容,jwplayer onReady 事件永远不会被触发。 jwplayer(strVideo).playlistItem(i).onReady({ console.log('ready'); });

最佳答案

我们正在尝试 onPlaylistItem(index).seek(seconds) 但这不起作用。这仅适用于事件播放列表项,当然 - 仅适用于第一个文件。

我们正在尝试为播放列表的每个项目使用带有搜索按钮的预加载播放列表。我们使用包含更多文件的播放列表,用户可以转到特定文件并再次单击调用的按钮:

jwplayer().onPlaylistItem(<index_file>).seek(seconds);

这会跳转到秒数而不是正确的播放列表项。

通过使用“playListItem”播放器的先前测试跳转到正确的文件但从头开始而不是寻找秒。 (但仅适用于 html5 模式,不适用于 flash)。

现在我们已经测试了这段代码

<a onclick='var only_once =false;jwplayer().playlistItem(1);jwplayer().onPlay(function () {  
if (only_once == false) {
only_once = true;
jwplayer().seek(60);
}
});' class="btn">HLS play 2nd file at 1 min</a>

但此解决方案仅适用于 Flash 模式,不适用于 html 5 模式播放器!

关于javascript - jwplayer 6 在播放列表中寻找元素不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25777305/

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