HTMLMediaElement.canPlayType()

HTMLMediaElement.canPlayType() - чи вказаний тип може бути відтворений.

Синтаксис:

HTMLMediaElement.canPlayType( mediaTypeA )

Параметри:

HTMLMediaElement - об'єкт HTMLMediaElement.

mediaTypeA - рядок який містить MIME-тип носія який необхідно перевірити, також можна вказувати кодек. Приклад MIME-типів: 'video/mp4', 'audio/mpeg', 'video/webm', 'audio/webm', 'audio/ogg', 'video/ogg', 'audio/ogg; codecs=opus', 'audio/wav'.

Опис:

canPlayType() метод об'єкта HTMLMediaElement який перевіряє чи вказаний тип медіа може бути відтворений.

Приклад:

Приклад відтворення аудіо:

var audio=new Audio(); audio.src="/dani/test.mp3"; var res= audio.canPlayType('audio/mpeg'); alert(res); var video=document.createElement('video'); var res= video.canPlayType('video/mp4'); alert(res); var video=document.createElement('video'); var res= video.canPlayType('video/ogg; codecs="theora"'); alert(res);

Приклад перевірки доступності медіа форматів:

var video=document.createElement('video'); var mime=[ 'video/mp4', 'video/webm', 'video/webm', 'video/ogg', 'application/ogg', 'video/quicktime', 'video/x-ms-wmv', 'video/x-flv', 'video/3gpp', 'video/3gpp2', 'video/VP8', 'video/jpeg', 'video/x-ms-asf', 'audio/mpeg', 'audio/MPA','audio/mp4', 'audio/webm', 'audio/aac', 'audio/AMR','audio/ogg', 'audio/wave', 'audio/wav', 'audio/x-wav', 'audio/x-pn-wav', 'audio/vnd.wave', 'audio/flac', 'audio/x-flac', 'audio/vorbis', 'audio/x-ms-wma', 'audio/vnd.rn-realaudio', 'audio/basic', 'audio/L24', 'audio/opus','audio/midi']; var s='<table><tr><th>MIME-type</th><th>Чи підтримує браузер</t></tr>'; for(var i=0;i<mime.length;i++){ switch(video.canPlayType(mime[i])){ case 'probably': s+='<tr><td>'+mime[i]+'</td><td style="background-color:green;text-align:center;">так</td></tr>'; break; case 'maybe': s+='<tr><td>'+mime[i]+'</td><td style="background-color:yellow;text-align:center;">можливо</td></tr>'; break; default: s+='<tr><td>'+mime[i]+'</td><td style="background-color:red;text-align:center;">ні</td></tr>'; break; } } s+='</table>'; document.getElementById('result').innerHTML=s;

Перевірка підтримки браузером MIME-type форматів і вказаними кодеками:

var mime_type=['application/ogg', 'application/ogg; codecs=bogus', 'application/mp4', 'application/mp4; codecs=bogus', 'application/octet-stream', 'application/octet-stream; codecs=bogus', 'audio/3gpp', 'audio/3gpp2', 'audio/aac', 'audio/x-aac', 'audio/aiff', 'audio/x-aiff', 'audio/ac3', 'audio/x-ac3', 'audio/basic', 'audio/flac', 'audio/x-flac', 'audio/mid', 'audio/midi', 'audio/x-midi', 'audio/mpeg', 'audio/x-mpeg', 'audio/mpegurl', 'audio/x-mpegurl', 'audio/mp4', 'audio/mp4; codecs=bogus', 'audio/ogg', 'audio/ogg; codecs=bogus', 'audio/wav', 'audio/wav; codecs=0', 'audio/wav; codecs=1', 'audio/wav; codecs=2', 'audio/wave', 'audio/wave; codecs=0', 'audio/wave; codecs=1', 'audio/wave; codecs=2', 'audio/x-wav', 'audio/x-wav; codecs=0', 'audio/x-wav; codecs=1', 'audio/x-wav; codecs=2', 'audio/x-pn-wav', 'audio/x-pn-wav; codecs=0', 'audio/x-pn-wav; codecs=1', 'audio/x-pn-wav; codecs=2', 'video/3gpp', 'video/3gpp2', 'video/avi', 'video/mpeg', 'video/x-mpeg', 'video/mp4', 'video/mp4; codecs=bogus', 'video/msvideo', 'video/x-msvideo', 'video/quicktime', 'video/ogg', 'video/ogg; codecs=bogus', 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"', 'video/mp4; codecs="avc1.58A01E, mp4a.40.2"', 'video/mp4; codecs="avc1.4D401E, mp4a.40.2"', 'video/mp4; codecs="avc1.64001E, mp4a.40.2"', 'video/mp4; codecs="mp4v.20.8, mp4a.40.2"', 'video/mp4; codecs="mp4v.20.240, mp4a.40.2"', 'video/3gpp; codecs="mp4v.20.8, samr"', 'video/ogg; codecs="theora, vorbis"', 'video/ogg; codecs="theora, speex"', 'audio/ogg; codecs=vorbis', 'audio/ogg; codecs=speex', 'audio/ogg; codecs=flac', 'video/ogg; codecs="dirac, vorbis"', 'video/x-matroska; codecs="theora, vorbis"', 'audio/webm', 'audio/webm; codecs=vorbis', 'video/webm', 'video/webm; codecs=vorbis', 'video/webm; codecs=vp8', 'video/webm; codecs=vp8.0', 'video/webm; codecs="vp8, vorbis"']; var video=document.createElement('video'); var s='<table><tr><th>MIME-type</th><th>Чи підтримує браузер</t></tr>'; for(var i=0;i<mime_type.length;i++){ switch(video.canPlayType(mime_type[i])){ case 'probably': s+='<tr><td>'+mime_type[i]+'</td><td style="background-color:green;text-align:center;">так</td></tr>'; break; case 'maybe': s+='<tr><td>'+mime_type[i]+'</td><td style="background-color:yellow;text-align:center;">можливо</td></tr>'; break; default: s+='<tr><td>'+mime_type[i]+'</td><td style="background-color:red;text-align:center;">ні</td></tr>'; break; } } s+='</table>'; document.getElementById('result').innerHTML=s;