Сначала в вашем коде есть ошибка, так как currentTime не является частью jQuery (но вы уже знаете это)по-разному от браузера к браузеру, например в Chrome.
Сначала нужно дождаться события 'durationchange
', чтобы убедиться, что длина известна объекту.
После этого вам нужно запустить поток с 'play()
'(если он еще не запущен) и приостановите его (иногда после небольшой задержки) с помощью функции pause()
.Затем вы можете изменить свойство currentTime со значением.После этого вам нужно снова запустить поток с помощью функции 'play()
.
Также иногда необходимо загрузить поток самостоятельно с помощью функции 'load()
'.
Примерно так:
$(document).ready( function()
{
var a = $('audio:first'),
o = a[0];
a.on( 'durationchange', function(e)
{
var o = e.target;
if( o )
{
o.pause();
o.currentTime = parseInt( $.cookie("audioTime"));
o.play();
}
});
if( o )
{
o.load();
o.play();
}
});
Вы должны поиграть с ним, чтобы быть уверенным, что лучше в вашей ситуации, например, метод возобновления (воспроизведения снова), чтобы задержать его на секунду или около того.
При использовании этого метода вам не нужно использовать функцию автозапуска, потому что большую часть времени она не работает.
Надеюсь, это поможет, привет, Erwinus