src/widgets/VideojsPlayer.js
changeset 1076 510fd2a482f4
parent 1073 687133dc13cf
--- a/src/widgets/VideojsPlayer.js	Sat Oct 19 01:34:55 2024 +0200
+++ b/src/widgets/VideojsPlayer.js	Tue Oct 22 07:03:54 2024 +0200
@@ -1,6 +1,7 @@
 // VideojsPlayer
 import "videojs-youtube/dist/Youtube.js";
 import Vimeo from './videojs_plugins/Vimeo.js';
+import Dailymotion from "./videojs_plugins/Dailymotion.js";
 import videojs from "video.js";
 
 import videojsStyles from "./VideojsPlayer.module.css";
@@ -12,6 +13,9 @@
   }, {
     regex:/^(https?:\/\/)?(www\.)?vimeo\.com/,
     type: "video/vimeo"
+  }, {
+    regex:/^(https?:\/\/)?(www\.)?dailymotion\.com/,
+    type: "video/dailymotion"
   }
 ]
 
@@ -24,7 +28,14 @@
     static defaults = {};
 
     draw() {
-      var _opts = { techOrder: [ 'html5', 'Youtube', 'Vimeo'] },
+
+      const techOrder = [ 'html5', 'Youtube', 'Vimeo' ];
+      if(this.dailymotionPlayerId) {
+        techOrder.push("Dailymotion");
+        Dailymotion.loadLibrary(this.dailymotionPlayerId);
+      }
+
+      var _opts = { techOrder },
         _seekPause = false,
         _pauseState = true;
 
@@ -157,6 +168,7 @@
           },
           setMuted: function (value) {
             _media.muted = value;
+            _media.trigger("muted");
             _media.trigger("volumechange");
             return value;
           },
@@ -173,4 +185,4 @@
   };
 };
 
-export { VideojsPlayerWidget as VideojsPlayer, videojsStyles, Vimeo };
+export { VideojsPlayerWidget as VideojsPlayer, videojsStyles, Vimeo, Dailymotion };