Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@onigetoc
Last active November 22, 2022 04:50
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save onigetoc/b8ff248b19ef9de6e77acc1ee0403663 to your computer and use it in GitHub Desktop.
Save onigetoc/b8ff248b19ef9de6e77acc1ee0403663 to your computer and use it in GitHub Desktop.
javascript Switch Case REGEX - Get video extension from video url and return video Type with CASE
function getType(url) {
switch (true) {
/* AUDIO */
case /\.(mp4|m4p|m4v|mov)/i.test(url):
return 'video/mp4';
break;
/* VIDEO */
case /\.ogg/.test(url):
return 'video/ogg';
break;
case /\.mpd/.test(url):
return 'application/dash+xml';
break;
case /^rtmp:\/\//.test(url):
return 'rtmp/mp4';
break;
case /\.m3u8/.test(url):
return 'application/x-mpegurl';
break;
case /\.(mp4|m4p|m4v|mov)/i.test(url):
return 'video/mp4';
break;
case /\.f4m/.test(url):
return 'application/adobe-f4m';
break;
case /\.flv/.test(url):
return 'video/flv';
break;
case /\.webm/.test(url):
return 'video/webm';
break;
case /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/.test(url):
return 'video/youtube';
break;
case /\.?dailymotion.com/.test(url):
return 'video/dailymotion';
break;
case /\.?vimeo.com/.test(url):
return 'video/vimeo';
break;
default:
console.log('could not find link type: "' + url + '" assuming is mp4');
return 'video/mp4';
}
};
let poster;
let vidURL="https://download.blender.org/peach/trailer/trailer_400p.ogg";
LoadVideo(vidURL, poster)
function LoadVideo(vidURL, poster) {
let type = getType(vidURL);
console.log("Video Type: "+type);
myPlayer.src({
"src": vidURL,
"type": type
});
if (poster)
myPlayer.poster(poster);
else
myPlayer.poster("myposter.png");
myPlayer.load();
myPlayer.play();
return false;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment