Я разрабатываю приложение html5 - angularjs.
Где мне нужно играть.wav файлы, которые извлекаются с сервера в пользовательском интерфейсе.
Эта функциональность должна поддерживаться во всех браузерах.
Он отлично работает с Chrome, firefox, safari.
Но в IE я получаю ошибку.
Если я попробую
<audio controls>
<source src="example.wav">
</audio>
Ошибка - в аудиотеке отображается недопустимый источник. Но никакой ошибки консоли.
Если я попробую
<audio controls src="example.wav"></audio>
Ошибка - в теге аудио, который отображается
Недопустимый источник
Также в консоли браузера отображается
MEDIA12899: АУДИО/ВИДЕО: Неизвестный тип MIME.
Я столкнулся с этой же проблемой и вызвал IE, не поддерживающий WAV файлы в HTML5 (что не имеет смысла, но, ну ладно).
Я придумал функцию Javascript, которая обрабатывает это; Я включил вызов функции в <a>
которая запускала звук для воспроизведения; таким образом, функция срабатывает, но ничего не делает в браузерах, отличных от IE, но в IE она воспроизводит его и изящно изящно проигрывает аудиоплеер HTML5.
function playWavFileInIE(src){
if(/msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent)){
var origPlayer = document.getElementById('currentWavPlayer');
if(origPlayer){
origPlayer.src = '';
origPlayer.outerHtml = '';
document.body.removeChild(origPlayer);
delete origPlayer;
}
var newPlayer = document.createElement('bgsound');
newPlayer.setAttribute('id', 'currentWavPlayer');
newPlayer.setAttribute('src', src);
document.body.appendChild(newPlayer);
return false;
}
}
Все строки в if(origPlayer){...}
по-видимому, необходимы; без какого-либо из них, я закончил с.wav, остающимся на странице, и он постоянно становился эхом с каждым щелчком. Я уверен, что есть логическое объяснение, но... Я торопился.