Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   разъяснения с поддержкой HTML5 Audio (https://javascript.ru/forum/misc/45106-razyasneniya-s-podderzhkojj-html5-audio.html)

Arramis 14.02.2014 19:56

разъяснения с поддержкой HTML5 Audio
 
Всем привет!

На странице динамически создаются несколько audio элементов вот так:

var audioEl, source1, source2, audioElsContainer = document.getElementById('audioElsContainer');
for (var i = 0; i < data.length; i++) {
	audioEl[i] = document.createElement("audio");
	source1 = document.createElement('source');
	source2 = document.createElement('source');
	source1.type = 'audio/wav';
	source2.type = 'audio/mpeg';
	source1.src = data[i].audio_src + ".wav";
	source2.src = data[i].audio_src + "(1).mp3";
	audioEl[i].setAttribute('controls', '');
	audioEl[i].setAttribute('preload', 'auto');
	audioEl[i].appendChild(source1);
	audioEl[i].appendChild(source2);
	audioElsContainer.appendChild(audioEl[i]);
	audioEl[i].style.visibility = 'hidden';
	audioEl[i].style.height = '0';
}
Wav формат, как известно поддерживается во всех браузерах, mp3 же не везде.

Вопрос такой:
Какой файл браузер (например Хром) выберет для проигрывания, если он поддерживает оба формата (mp3 и wav) ???

danik.js 14.02.2014 21:56

Цитата:

Сообщение от Arramis
Какой файл браузер

Открой консоль (F12), вкладку сеть, посмотри какой файл грузится.
Я так думаю загрузится первый поддерживаемый файл, то есть wav.
Вобще wav - это трындец. Разве ogg + mp3 не охватывают поддержкой все браузеры?
Вместо x.setAttriube('controls', '') лучше писать x.controls = false. То же и с preload. Вообще зачем устанавливать эти значения, если они и так по умолчанию такие?

Arramis 14.02.2014 23:16

Цитата:

Сообщение от danik.js (Сообщение 297747)
Вобще wav - это трындец. Разве ogg + mp3 не охватывают поддержкой все браузеры?
Вместо x.setAttriube('controls', '') лучше писать x.controls = false. То же и с preload. Вообще зачем устанавливать эти значения, если они и так по умолчанию такие?

preload по умолчанию none. Что означает, что метаданные будут загружены динамически, если я не ошибаюсь.

а самый поддерживаемый формат это wav, ogg в safari не поддерживается, mp3 в firefox только в некоторых версиях.

так что все браузеры будет охватывать только ogg + mp3 + wav судя по этой таблице .
Про открыть консоль и чекнуть network спс.

danik.js 15.02.2014 06:24

Цитата:

Сообщение от Arramis
preload по умолчанию none

alert(document.createElement('audio').preload)

Хром - "auto".


Часовой пояс GMT +3, время: 09:02.