mirror of
https://github.com/servo/servo.git
synced 2025-06-25 17:44:33 +01:00
55 lines
1.2 KiB
JavaScript
55 lines
1.2 KiB
JavaScript
/**
|
|
* Returns the URL of a supported video source based on the user agent
|
|
* @param {string} base - media URL without file extension
|
|
* @returns {string}
|
|
*/
|
|
function getVideoURI(base)
|
|
{
|
|
var extension = '.mp4';
|
|
|
|
var videotag = document.createElement("video");
|
|
|
|
if ( videotag.canPlayType &&
|
|
videotag.canPlayType('video/ogg; codecs="theora, vorbis"') )
|
|
{
|
|
extension = '.ogv';
|
|
}
|
|
|
|
return base + extension;
|
|
}
|
|
|
|
/**
|
|
* Returns the URL of a supported audio source based on the user agent
|
|
* @param {string} base - media URL without file extension
|
|
* @returns {string}
|
|
*/
|
|
function getAudioURI(base)
|
|
{
|
|
var extension = '.mp3';
|
|
|
|
var audiotag = document.createElement("audio");
|
|
|
|
if ( audiotag.canPlayType &&
|
|
audiotag.canPlayType('audio/ogg') )
|
|
{
|
|
extension = '.oga';
|
|
}
|
|
|
|
return base + extension;
|
|
}
|
|
|
|
/**
|
|
* Returns the MIME type for a media URL based on the file extension.
|
|
* @param {string} url
|
|
* @returns {string}
|
|
*/
|
|
function getMediaContentType(url) {
|
|
var extension = new URL(url, location).pathname.split(".").pop();
|
|
var map = {
|
|
"mp4": "video/mp4",
|
|
"ogv": "application/ogg",
|
|
"mp3": "audio/mp3",
|
|
"oga": "application/ogg",
|
|
};
|
|
return map[extension];
|
|
}
|