Я знаю, как проверить Javascript, если доступно воспроизведение звука HTML5. Но как я могу конкретно проверить, доступно ли воспроизведение аудио MP3, как IE9 и Chrome поддерживают его, в то время как Firefox и Opera этого не делают.
Как определить поддержку HTML5 аудио MP3?
Ответ 1
Вы можете проверить 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
Ответ 2
Modernizr - это библиотека для обнаружения функций. Вы можете использовать его для выполнения вашей работы.
В соответствии с документацией:
Если обнаружена поддержка звука, Modernizr оценивает, в каких форматах будет воспроизводиться текущий браузер. В настоящее время Modernizr тестирует ogg, mp3, wav и m4a.
Важно: значения этих свойств не являются истинными булевыми. Вместо этого Modernizr сопоставляет спецификацию HTML5 с возвратом строки, представляющей уровень уверенности браузера, который может обрабатывать этот кодек. Эти возвращаемые значения представляют собой пустую строку (отрицательный ответ), "возможно" и "возможно". Пустая строка является ложью, другими словами: Modernizr.audio.ogg == '' и '' == false
Ответ 3
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
)