Добрый день!
Не могу разобраться в некоторых нюансах воспроизведения аудиозаписи.
Защита браузера, позволяет воспроизвести трек из тэга audio только по нажатию кнопки.
В браузере на компьютере, все работает в обоих вариантах, а на Google Chrome на Android нет.
Такая структура работает хорошо:
function startPlay(){
document.getElementById('button_play').click();
}
<div id="sound_player" style="display:none;">
<audio id="player" src="SonnetteHaute.mp3"></audio>
<button id='button_play' onclick="document.getElementById('player').play()">Воспроизведение</button>
А если запускать подобным образом, то оказывается воспроизводить:
function startPlay(){
document.getElementById('button_play').click();
}
function tiktak(seconds){
document.getElementById('timer_sec').innerHTML=seconds;
if(document.getElementById('timer').style.display=="none"){timer();}
document.getElementById('timer').style.display="block";
}
function timer(){
var second = document.getElementById('timer_sec').innerHTML;
if(second==1){//document.getElementById('button_play').click();
document.getElementById('timer').style.display="none";
startPlay();
}
second--;
timer_sec.innerHTML=second;
if(second>=0){setTimeout("timer()", 1000);}
}
<div id="sound_player" style="display:none;">
<audio id="player" preload="auto">
<source src="SonnetteHaute.mp3" type="audio/mpeg" />
<source src="SonnetteHaute.ogg" type="audio/ogg" />
<source src="SonnetteHaute.wav" type="audio/wav" />
<embed hidden="true" autostart="true" loop="false" src="/SonnetteHaute.mp3" />
Если вы читаете это, значит ваш браузер не
поддерживает теги HTML5 аудио.
</audio>
<audio id="pre_player" preload="auto">
<source src="pre_audio.mp3" type="audio/mpeg" />
<source src="pre_audio.ogg" type="audio/ogg" />
<source src="pre_audio.wav" type="audio/wav" />
<embed hidden="true" autostart="true" loop="false" src="/pre_audio.mp3" />
Если вы читаете это, значит ваш браузер не
поддерживает теги HTML5 аудио.
</audio></div>
Так же пробовал запускать первый вариант через timeout, как во втором, и он нормально срабатывает.
В чем может быть причина, или есть другие варианты реализации?
UPD
Если, предварительно до выполнении функции, нажать 1 раз на кнопку, то скрипт нормально все воспроизводит...
При том, в стандартном браузере Android все нормально работает