【问题标题】:autoplay video in slider在滑块中自动播放视频
【发布时间】:2013-08-21 15:09:56
【问题描述】:

我正在使用 cycle2 插件,并且我有一个视频库,我想要的是在显示当前幻灯片时自动播放视频。

他确实有一个类似的插件,但它看起来只适用于 youtube,而我正在使用带有后备功能的 video html 标签: http://jquery.malsup.com/cycle2/demo/video.php

显然我无法将自动播放添加到视频中,因为它们都同时播放并且不知道如何处理。 Is there a way around from his api url: http://jquery.malsup.com/cycle2/api/ or will i have to create a function from scratch that when a certain slider is selected, play/stop.

我也在使用他网站上的哈希示例。

如果有人对从哪里开始或解决方案的正确方向有任何想法,我将不胜感激,因为我已经看了好几个小时了!

以下是视频如何集成到 cycle2 滑块中的示例链接:

http://jsfiddle.net/8dcWv/

<video width="100%" height="100%" controls="controls">
  <source type="video/mp4" src="" />
  <source type="video/webm" src="" />
  <source type="video/ogg" src="" />
  <object width="100%" height="100%" type="application/x-shockwave-flash" data="">
  <param name="movie" value="" />
  <param name="flashvars" value="controls=true&file=" />
  </object>
</video>

插件网址:http://jquery.malsup.com/cycle2/demo/video.php

此网址可能有助于触发第一张幻灯片:https://github.com/malsup/cycle2/issues/25

【问题讨论】:

    标签: jquery video slider autoplay


    【解决方案1】:

    我认为这样的事情应该可行。

    //Triggered after the slideshow has completed transitioning to the next slide.
    $( '#mySlideshow' ).on( 'cycle-after', function(event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag) {
        $('video', incomingSlideEl)[0].play();
    });
    
    //Triggered just prior to a transition to a new slide.
    $( '#mySlideshow' ).on( 'cycle-before', function(event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag) {
        $('video', outgoingSlideEl)[0].pause();
    });
    

    【讨论】:

    • 这是 99%!我唯一的问题是第一张幻灯片没有自动播放,只有当我转到另一个缩略图然后返回循环之前/循环之后事件触发它时(如果这有意义的话)。一旦我开始移动幻灯片,我将如何让第一个视频播放然后表现得像其他视频一样?顺便说一句,这是很棒的帮助!
    • 在听众前面加上这个$('cycle-slideshow div')[0].play();
    • 不幸的是,这不起作用,在您回答之前尝试过,它只会破坏滑块和其余部分的自动播放。奇怪,因为我们只要求一个带有视频的 div 来播放.. 不确定循环插件是否喜欢它?
    • 尝试将类从 .cycle-slideshow 更改为其他内容,然后像 $( '.mySlideshows' ).cycle(); 这样手动启动它,然后再尝试执行最后一个建议并添加侦听器。
    • @user2212564 以下代码将在页面加载后自动播放第一张幻灯片中的视频(因此您不需要cycle-after挂钩,只需cycle-before 一):$( '#mySlideshow' ).on( 'cycle-update-view', function(event, optionHash, slideOptionsHash, currentSlideEl) { $('video', currentSlideEl)[0].play(); });
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多