Ist es möglich, slick.js mit html5 selbst gehosteten Videos zu verwenden, um ein Video ohne Benutzerinteraktion abzuspielen und anzuhalten?Slick.js und html5 video autoplay und pause auf video
Ich habe derzeit den folgenden Code, um einen Dual-Slider mit einer vertikalen slick-Diashow und einen Hauptbereich, wo das große Bild und Video angezeigt werden und automatisch scrollen. Dies wird auf einem Fernseher gehostet, so dass keine Benutzerinteraktion stattfindet.
Wie kann ich die Folie Video-Wiedergabe enthält, vollständig, sobald es erscheint, und sobald es fertig ist, um die Diashow fortzusetzen und auf unbestimmte Zeit wiederholen. Die Videos können verschiedene Längen enthalten, sodass die Länge dynamisch ermittelt werden muss.
Ich habe versucht, den Code auf this question implementieren, aber ich konnte nicht mein Beispiel arbeiten.
<div id="slideBox">
<!--Sidebar-->
<div class="sliderSidebar">
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100"></div>
<div><img src="http://placehold.it/200x100/C8102E/FFFFFFF?text=Video" /></div>
</div>
<div id="main-image" class="sliderMain">
<div><img src="http://placehold.it/900x500"></div>
<div><img src="http://placehold.it/900x500"></div>
<div><img src="http://placehold.it/900x500"></div>
<div><img src="http://placehold.it/900x500"></div>
<div><img src="http://placehold.it/900x500"></div>
<div id="slide-video">
<video autoplay loop width="900px">
<source src="video/SampleVideo.mp4" />
</video>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('.sliderMain').slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: false,
fade: true,
asNavFor: '.sliderSidebar',
autoplay: true,
autoplaySpeed: 3000,
onAfterChange : function() {
player.stopVideo();
}
});
$('.sliderSidebar').slick({
slidesToShow: 5,
slidesToScroll: 1,
asNavFor: '.sliderMain',
dots: false,
centerMode: false,
focusOnSelect: true,
vertical: true,
arrows: false
});
var video = $('.sliderMain .slick-active').find('video').get(0).play();
$('.sliderMain').on('afterChange', function(event, slick, currentSlide, nextSlide){
$('.sliderMain .slick-slide').find('video').get(0).pause();
var video = $('.sliderMain .slick-active').find('video').get(0).play();
});
});
</script>
Danke für die Hilfe. Ich habe diese Geige, die ich zusammengestellt habe. [link] (https://jsfiddle.net/38oj9xrd/) ich Ihren Code versucht, die Implementierung und lief in ein wiederkehrendes Thema, wo ich diese Meldung: Uncaught Typeerror:. $ (...) Spiel ist keine Funktion –
den Code ein bisschen repariert + meine eigene Arbeit hinzugefügt JSFiddle –
Vielen Dank! Das hat mir viele Kopfschmerzen erspart. Würde dieselbe/ähnliche Lösung für Youtube und Vimeo gelten oder müsste ich auf ihre APIs verweisen? –