Объект audio поддерживает установку текущей позиции воспроизведения через свойство — currentTime. Если попытаться установить значение выходящее за рамки трека, то javascript создаст соответствующее исключение. Потому следует использовать конструкцию try — catch. Отлавливать исключения не понадобится, только если вы точно уверены в правильности нового значения для currentTime.
Ваш плеер в HTML:
1 |
<audio id="player" src="my-audio-track.mp3"></audio> |
Пример скрипта:
1 2 3 4 5 6 7 8 9 10 11 |
try { //нашли плеер средствами jQuery var pl = jQuery('#player').get(0); // время задаётся в секундах // мы установили точку воспроизведения - 30 сек от начала трека pl.currentTime = 30.0; } catch (e) { // обработка исключения if (window.console && console.error("Error:" + e)); } |
Одного currentTime явно не достаточно, чтобы отслеживать и отображать позицию воспроизведения трека.
Общую длительность трека можно посмотреть в свойстве объекта duration.
1 2 3 4 |
//выбрали объект проигрывателя var pl = document.getElementById("player"); //длина трека в секундах var track_length = pl.duration; |
Для отображения текущей позиции проигрывателя могут понадобиться обработчики следующих событий:
- playing — вызывается при запуске (play) проигрывателя,
- pause — вызывается про остановке (pause) проигрывателя,
- timeupdate — вызывается при обновлении текущей позиции воспроизведения.
Пример подключения обработчика (на примере ‘pause’):
1 2 3 4 5 6 7 |
var player = document.getElementById('player'); player.addEventListener( "pause", function() { //какой то ваш код для обработки события }, true); |
Вернуться к основной статье по управлению объектом HTML5 AUDIO из javascript.