<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/index.php?action=history&amp;feed=atom&amp;title=HTML5_-_Video_Snippets</id>
	<title>HTML5 - Video Snippets - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/index.php?action=history&amp;feed=atom&amp;title=HTML5_-_Video_Snippets"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=HTML5_-_Video_Snippets&amp;action=history"/>
	<updated>2026-05-06T16:45:31Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikizone</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=HTML5_-_Video_Snippets&amp;diff=26170&amp;oldid=prev</id>
		<title>134.3.84.225: /* GSAP - Slider für Videostart */</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=HTML5_-_Video_Snippets&amp;diff=26170&amp;oldid=prev"/>
		<updated>2022-08-26T07:09:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;GSAP - Slider für Videostart&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 26. August 2022, 07:09 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l96&quot; &gt;Zeile 96:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 96:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;});&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;});&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;javascript&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>134.3.84.225</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=HTML5_-_Video_Snippets&amp;diff=26169&amp;oldid=prev</id>
		<title>134.3.84.225: Die Seite wurde neu angelegt: „== Komplette Beispielskripte == === GSAP - Slider für Videostart === Videos mit Ton werden erst nach einer Userinteraktion wie ein Klick auf Play gespielt (Sa…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=HTML5_-_Video_Snippets&amp;diff=26169&amp;oldid=prev"/>
		<updated>2022-08-26T07:08:57Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „== Komplette Beispielskripte == === GSAP - Slider für Videostart === Videos mit Ton werden erst nach einer Userinteraktion wie ein Klick auf Play gespielt (Sa…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Komplette Beispielskripte ==&lt;br /&gt;
=== GSAP - Slider für Videostart ===&lt;br /&gt;
Videos mit Ton werden erst nach einer Userinteraktion wie ein Klick auf Play gespielt (Safari, Firefox). Ein Slider Drag funktioniert nicht. Aber man kann den Klick bei der ersten Sliderberührung simulieren und das Video sofort wieder stoppen. Ab diesem Moment können wir den Player auch selbst steuern. Z.B. wenn der Slider komplett gezogen ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
$(document).ready(function(){&lt;br /&gt;
&lt;br /&gt;
  //init&lt;br /&gt;
  const myVideo = document.getElementById(&amp;#039;myVideo&amp;#039;)&lt;br /&gt;
  //const myAudio = document.getElementById(&amp;#039;myAudio&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
  tl=gsap.timeline({paused:true});&lt;br /&gt;
  tl.to(&amp;#039;#intro&amp;#039;,{backgroundColor:&amp;#039;#28282D&amp;#039;, color:&amp;#039;#6E6E75&amp;#039;})&lt;br /&gt;
      .fromTo(&amp;#039;#myVideo&amp;#039;,{opacity:0},{opacity:1})&lt;br /&gt;
      .to(&amp;#039;#video-overlay&amp;#039;,{backgroundColor:&amp;#039;transparent&amp;#039;, backgroundImage:&amp;#039;none&amp;#039;},&amp;#039;&amp;lt;&amp;#039;)&lt;br /&gt;
      .to(&amp;#039;#intro-slider&amp;#039;,{opacity:0,display:&amp;quot;none&amp;quot;})&lt;br /&gt;
      .fromTo(&amp;#039;#btn-skip&amp;#039;,{opacity:0},{opacity:1})&lt;br /&gt;
  var initClick = false;&lt;br /&gt;
  $(&amp;#039;#slider-plate&amp;#039;).on(&amp;#039;mousedown&amp;#039;, function(){&lt;br /&gt;
      //myAudio.play();&lt;br /&gt;
    if(!initClick){&lt;br /&gt;
      console.log(&amp;quot;initial click to prevent autoplay-blocking&amp;quot;)&lt;br /&gt;
      //myVideo.play();&lt;br /&gt;
      //myVideo.pause();&lt;br /&gt;
      initClick=true;&lt;br /&gt;
    }&lt;br /&gt;
  })&lt;br /&gt;
&lt;br /&gt;
  // gsap&lt;br /&gt;
  gsap.registerPlugin(InertiaPlugin)&lt;br /&gt;
  Draggable.create(&amp;quot;#slider-plate&amp;quot;,{&lt;br /&gt;
    type: &amp;quot;x&amp;quot;,&lt;br /&gt;
    bounds: &amp;quot;#slider-bounds&amp;quot;,&lt;br /&gt;
    inertia:true,&lt;br /&gt;
    edgeResistance: 1,&lt;br /&gt;
    dragResistance:0,&lt;br /&gt;
    duration: {min:0.3, max: 0.5},&lt;br /&gt;
    snap: {&lt;br /&gt;
      x: function(xPos) {&lt;br /&gt;
        if(xPos &amp;lt; this.maxX){return 0}&lt;br /&gt;
        else{return xPos}&lt;br /&gt;
      },&lt;br /&gt;
    },&lt;br /&gt;
    onThrowComplete: function(){ &lt;br /&gt;
      //console.log(&amp;quot;intertia flick complete ended at &amp;quot; + this.x + &amp;quot; out of &amp;quot; + this.maxX);&lt;br /&gt;
      if(this.x == this.maxX){&lt;br /&gt;
        tl.play()&lt;br /&gt;
        console.log(&amp;quot;play video&amp;quot;)&lt;br /&gt;
        var promise = myVideo.play()&lt;br /&gt;
        if (promise !== undefined) {&lt;br /&gt;
          promise.catch(error =&amp;gt; {&lt;br /&gt;
            console.log(&amp;quot;autoplay prevented by browser&amp;quot;)&lt;br /&gt;
            console.log(error)&lt;br /&gt;
            // show video controls&lt;br /&gt;
            video = document.getElementById(&amp;#039;myVideo&amp;#039;)&lt;br /&gt;
            video.setAttribute(&amp;quot;controls&amp;quot;,&amp;quot;controls&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
          }).then(() =&amp;gt; {&lt;br /&gt;
            console.log(&amp;quot;player started&amp;quot;)&lt;br /&gt;
          });&lt;br /&gt;
        }&lt;br /&gt;
      }else {&lt;br /&gt;
        myVideo.pause();&lt;br /&gt;
        //myAudio.pause();&lt;br /&gt;
        console.log(&amp;quot;pause video&amp;quot;)&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    onDragStart: function(){&lt;br /&gt;
      // stop autosliding&lt;br /&gt;
      //tl.progress(0);&lt;br /&gt;
      tlSimDrag.pause();&lt;br /&gt;
    },&lt;br /&gt;
  });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // toggle controls&lt;br /&gt;
  function toggleControls() {&lt;br /&gt;
    if (video.hasAttribute(&amp;quot;controls&amp;quot;)) {&lt;br /&gt;
        video.removeAttribute(&amp;quot;controls&amp;quot;)   &lt;br /&gt;
    } else {&lt;br /&gt;
        video.setAttribute(&amp;quot;controls&amp;quot;,&amp;quot;controls&amp;quot;)   &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // simulate a drag to notice the user&lt;br /&gt;
  tlSimDrag = new gsap.timeline({ &lt;br /&gt;
    defaults:{ease: &amp;quot;power2.out&amp;quot;},&lt;br /&gt;
    repeat: -1, &lt;br /&gt;
    delay: 1,&lt;br /&gt;
    repeatDelay:3,&lt;br /&gt;
  });&lt;br /&gt;
  &lt;br /&gt;
  tlSimDrag.to(&amp;#039;#slider-plate&amp;#039;,0.7,{x:100}).to(&amp;#039;#slider-plate&amp;#039;,1.5,{&lt;br /&gt;
    x:0,&lt;br /&gt;
    delay: 0.1&lt;br /&gt;
  });&lt;br /&gt;
});&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/javascript&amp;gt;&lt;/div&gt;</summary>
		<author><name>134.3.84.225</name></author>
	</entry>
</feed>