Last active
November 22, 2022 04:50
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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'; | |
} | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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