Как определить поддержку HTML5 аудио MP3? - PullRequest
35 голосов
/ 12 декабря 2011

Я знаю, как проверить в Javascript, доступно ли воспроизведение звука в HTML5.Но как мне конкретно проверить, доступно ли воспроизведение аудио в формате MP3, поскольку IE9 и Chrome поддерживают его, а Firefox и Opera - нет.

Ответы [ 3 ]

61 голосов
/ 12 декабря 2011

Вы можете либо проверить User-Agent и посмотреть, какой браузер используется, либо протестировать поддержку Javascript.

var a = document.createElement('audio');
return !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, ''));

Я получил вышеуказанный код с этой страницы .

return !! (a.canPlayType) лучше, потому что (некоторые последние версии) Firefox не поддерживает mp3 и a.canPlayType ('audio / mpeg;') будет иметь значение false

4 голосов
/ 12 декабря 2011

Modernizr - библиотека для обнаружения функций. Вы можете использовать его, чтобы сделать работу за вас.

Согласно документации :

Если обнаружена поддержка аудио, Modernizr оценивает, какие форматы будет воспроизводить текущий браузер. В настоящее время Modernizr тестирует ogg, mp3, wav и m4a.

Внимание! Значения этих свойств не являются истинными логическими значениями. Вместо этого Modernizr соответствует спецификации HTML5, возвращая строку, представляющую уровень уверенности браузера в том, что он может обрабатывать этот кодек. Эти возвращаемые значения - пустая строка (отрицательный ответ), «возможно» и «вероятно». Пустая строка ложная, другими словами: Modernizr.audio.ogg == '' и '' == false

3 голосов
/ 12 октября 2013
var test_audio= document.createElement("audio") //try and create sample audio element 
var test_video= document.createElement("video") //try and create sample video element
var mediasupport={audio: (test_audio.play)? true : false, video: (test_video.play)? true :     false}

alert("Audio Element support: " + mediasupport.audio + "\n"
+ "Video Element support: " + mediasupport.video
)
...