Explorar o código

Fix video playback on iOS

Zed %!s(int64=6) %!d(string=hai) anos
pai
achega
2977972274
Modificáronse 1 ficheiros con 16 adicións e 9 borrados
  1. 16 9
      public/js/hlsPlayback.js

+ 16 - 9
public/js/hlsPlayback.js

@@ -1,15 +1,22 @@
 function playVideo(overlay) {
     const video = overlay.parentElement.querySelector('video');
+    const url = video.getAttribute("data-url");
     video.setAttribute("controls", "");
     overlay.style.display = "none";
 
-    const url = video.getAttribute("data-url");
-    var hls = new Hls({autoStartLoad: false});
-    hls.loadSource(url);
-    hls.attachMedia(video);
-    hls.on(Hls.Events.MANIFEST_PARSED, function () {
-        hls.loadLevel = hls.levels.length - 1;
-        hls.startLoad();
-        video.play();
-    });
+    if (Hls.isSupported()) {
+        var hls = new Hls({autoStartLoad: false});
+        hls.loadSource(url);
+        hls.attachMedia(video);
+        hls.on(Hls.Events.MANIFEST_PARSED, function () {
+            hls.loadLevel = hls.levels.length - 1;
+            hls.startLoad();
+            video.play();
+        });
+    } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
+        video.src = url;
+        video.addEventListened('canplay', function() {
+            video.play();
+        });
+    }
 }