Changeset 2321124
- Timestamp:
- 06/09/2020 08:44:47 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
dental-education-videos/trunk/assets/muvi-fancy.js
r2314068 r2321124 24 24 var i; 25 25 for (i = 0; i < muviplayers.length; i++) { 26 26 27 27 var videotopic = muviplayers[i].dataset.topic; 28 28 muviplayers[i].setAttribute("muted", "muted"); … … 38 38 muviplayers[i].setAttribute("poster", "https://assets.muvidental.com/img/posters/" + videotopic + ".jpg"); // Not protected, no token needed 39 39 muviplayers[i].setAttribute("style", "max-width: 100%;"); 40 41 42 40 41 42 43 43 var uAgent = navigator.userAgent; 44 44 var isiOS = false; 45 45 var isMac = false; 46 var isSafari = false; 47 var useHEVC = false; 48 var useHLSJS = true; 46 49 var osVersion = ""; 47 50 48 // Check ifiOS51 // Checks on iOS 49 52 if (/iPad|iPhone|iPod/.test(uAgent) == true) { 50 53 isiOS = true; 54 useHLSJS = false; 51 55 osVersion = uAgent.match(/OS (\d+)/); 56 if (osVersion[1] >= 12) { 57 useHEVC = true; 58 } 52 59 } 53 // Check if Mac OS 60 61 // Checks on Mac OS 54 62 if (/OS X 10[_.](\d+)/.test(uAgent) == true) { 63 // We are on a Mac 55 64 isMac = true; 56 65 osVersion = uAgent.match(/OS X 10[_.](\d+)/); 66 if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && !window.MSStream) { 67 // Safari on Mac 68 isSafari = true; 69 useHLSJS = false; 70 71 if (osVersion[1] >= 12) { 72 // Newer Safari 73 useHEVC = true; 74 } 75 76 77 } 57 78 } 58 59 60 61 if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && !window.MSStream) {62 // Safari specific code63 if (isiOS == true && osVersion[1] >= 12) {64 // Send H265 master playlist to iOS 11+ Safari65 muviplayers[i].src = streamPHP + '?l=1&c=hevc&v=' + videotopic;66 muviplayers[i].addEventListener('canplay', function() {67 // muviplayers[i].play();68 });69 } else if (isMac == true && osVersion[1] >= 14) {70 // Send H265 master playlist to Mac OS X 13+ Safari71 muviplayers[i].src = streamPHP + '?l=1&c=hevc&v=' + videotopic;72 muviplayers[i].addEventListener('canplay', function() {73 // muviplayers[i].play();74 });75 } else {76 // Send H264 master playlist to older iDevices77 muviplayers[i].src = streamPHP + '?l=1&v=' + videotopic;78 muviplayers[i].addEventListener('canplay', function() {79 // muviplayers[i].play();80 });81 }82 83 // autoplay on mac84 if (isMac == true) {85 muviplayers[i].muted = true;86 muviplayers[i].volume = 0.0;87 muviplayers[i].play();88 }89 90 79 91 } else if (Hls.isSupported()) {92 // Chrome, Firefox, IE, etc...93 var hls = new Hls(config);94 80 95 // Send H264 master playlist to everyone else 96 hls.loadSource(streamPHP + '?l=1&v=' + videotopic); 97 console.log('Break 7'); 81 //** BUILD PLAYER **// 82 if (useHEVC == true) { 83 // Send H265 master playlist to all iOS Browsers and Safari on Mac 84 muviplayers[i].src = streamPHP + '?l=1&c=hevc&v=' + videotopic; 85 muviplayers[i].addEventListener('canplay', function() { 86 // muviplayers[i].play(); 87 }); 88 } else if (useHLSJS == false && useHEVC == false) { 89 // Send H264 master playlist to older Safari 90 muviplayers[i].src = streamPHP + '?l=1&v=' + videotopic; 91 muviplayers[i].addEventListener('canplay', function() { 92 // muviplayers[i].play(); 93 }); 94 } else { 95 // Use HLSJS for everyone else 96 var hls = new Hls(config); 98 97 99 hls.attachMedia(muviplayers[i]); 100 hls.on(Hls.Events.MANIFEST_PARSED,function() { 101 // video.play(); 102 }); 103 104 muviplayers[i].muted = true; 105 muviplayers[i].volume = 0.0; 106 muviplayers[i].play(); 107 98 // Send H264 playlist 99 hls.loadSource(streamPHP + '?l=1&v=' + videotopic); 100 console.log('Break 7'); 101 102 hls.attachMedia(muviplayers[i]); 103 hls.on(Hls.Events.MANIFEST_PARSED,function() { 104 // video.play(); 105 }); 106 107 muviplayers[i].muted = true; 108 muviplayers[i].volume = 0.0; 109 muviplayers[i].play(); 108 110 } 109 110 111 111 112 113 114 115 // autoplay on Mac Safari 116 if (isMac == true && isSafari == true) { 117 muviplayers[i].muted = true; 118 muviplayers[i].volume = 0.0; 119 muviplayers[i].play(); 120 } 121 122 123 124 125 112 126 // English Captions 113 127 var enTrack = document.createElement("track"); … … 118 132 enTrack.src = "https://assets.muvidental.com/vtt/" + videotopic + "/en.vtt"; // Not protected, no token needed 119 133 muviplayers[i].appendChild(enTrack); 120 134 121 135 // Spanish Subtitles (for future implementation) 122 136 // var esTrack = document.createElement("track"); … … 127 141 // esTrack.src = "https://assets.muvidental.com/vtt/" + videotopic + "/es.vtt"; // Not protected, no token needed 128 142 // muviplayers[i].appendChild(esTrack); 129 143 130 144 // French Subtitles (for future implementation) 131 145 // var frTrack = document.createElement("track"); … … 136 150 // frTrack.src = "https://assets.muvidental.com/vtt/" + videotopic + "/fr.vtt"; // Not protected, no token needed 137 151 // muviplayers[i].appendChild(frTrack); 138 152 139 153 // German Subtitles (for future implementation) 140 154 // var deTrack = document.createElement("track"); … … 145 159 // deTrack.src = "https://assets.muvidental.com/vtt/" + videotopic + "/de.vtt"; // Not protected, no token needed 146 160 // muviplayers[i].appendChild(deTrack); 147 161 148 162 // Portuguese Subtitles (for future implementation) 149 163 // var ptTrack = document.createElement("track"); … … 154 168 // ptTrack.src = "https://assets.muvidental.com/vtt/" + videotopic + "/pt.vtt"; // Not protected, no token needed 155 169 // muviplayers[i].appendChild(ptTrack); 156 170 157 171 // Hungarian Subtitles (for future implementation) 158 172 // var huTrack = document.createElement("track"); … … 163 177 // huTrack.src = "https://assets.muvidental.com/vtt/" + videotopic + "/hu.vtt"; // Not protected, no token needed 164 178 // muviplayers[i].appendChild(huTrack); 165 179 166 180 // Polish Subtitles (for future implementation) 167 181 // var plTrack = document.createElement("track"); … … 172 186 // plTrack.src = "https://assets.muvidental.com/vtt/" + videotopic + "/pl.vtt"; // Not protected, no token needed 173 187 // muviplayers[i].appendChild(plTrack); 174 188 175 189 // Russian Subtitles (for future implementation) 176 190 // var ruTrack = document.createElement("track");
Note: See TracChangeset
for help on using the changeset viewer.