X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=www%2Fjs%2Fblergmedia.js;fp=www%2Fjs%2Fblergmedia.js;h=0528a9b196f615010ef1aaf0471590b3046e3184;hb=481423bac9915a431020b5e5e7672300d4adb3b0;hp=0000000000000000000000000000000000000000;hpb=cdcf2e46dea2a2cc210caeb10a951ea8cf5d0e26;p=blerg.git diff --git a/www/js/blergmedia.js b/www/js/blergmedia.js new file mode 100644 index 0000000..0528a9b --- /dev/null +++ b/www/js/blergmedia.js @@ -0,0 +1,58 @@ +var BlergMedia = { + audioExtensions: [], + videoExtensions: [] +}; + +function media_init() { + var e = document.createElement('audio'); + if (!!e.canPlayType) { + BlergMedia.has_audio = true; + if (e.canPlayType('audio/mpeg; codecs="mp3"')) { + BlergMedia.has_mp3 = true; + BlergMedia.audioExtensions.push('mp3'); + } + if (e.canPlayType('audio/ogg; codecs="vorbis"')) { + BlergMedia.has_vorbis = true; + BlergMedia.audioExtensions.push('ogg', 'oga'); + } + if (e.canPlayType('audio/wav')) { + BlergMedia.has_wav = true; + BlergMedia.audioExtensions.push('wav'); + } + } + + var e = document.createElement('video'); + if (!!e.canPlayType) { + BlergMedia.has_video = true; + if (e.canPlayType('video/mp4; codecs="avc"')) { + BlergMedia.has_h264 = true; + BlergMedia.videoExtensions.push('mp4'); + } + if (e.canPlayType('video/ogg; codecs="theora, vorbis"')) { + BlergMedia.has_theora = true; + BlergMedia.videoExtensions.push('ogv'); + } + if (e.canPlayType('video/webm; codecs="vp8, vorbis"')) { + BlergMedia.has_webm = true; + BlergMedia.videoExtensions.push('webm'); + } + } +} + +function play_audio() { + var e = event.target.parentElement; + var url = event.target.parentElement.href; + var audio_element = new Element('audio', {src: url, controls: 1, autoplay: 1}); + e.replace(audio_element); +} + +function play_video() { + var e = event.target.parentElement; + var url = event.target.parentElement.href; + var p = new Element('p'); + var video_element = new Element('video', {src: url, controls: 1, autoplay: 1}); + p.insert(video_element); + e.replace(p); +} + +window.addEventListener('load', media_init, false);