To doprowadza mnie do szału. Oto kod używam ustawić aktualny czas:Mogę pobrać audio.currentTime, ale go nie ustawiam (w Google Chrome)
$("#audio").click(function(e) {
e.preventDefault();
mr_waveform_skip(e)
});
function mr_waveform_skip(event) {
clientX = event.clientX;
left = event.currentTarget.offsetLeft;
clickoffset = clientX - left;
percent = clickoffset/event.currentTarget.offsetWidth
audio_duration = audio_element.duration;
duration_seek = percent*audio_duration;
audio_element.currentTime = duration_seek;
// audio_element.currentTime = 10;
console.log('CLICK: ' + duration_seek + ' Element: ' + audio_element + ' CurrentTime: ' + audio_element.currentTime);
}
I nie może wydawać się ustawićaudio_element.currentTime
tylko dostać to!
Co gorsza, działa w fireFox! Chrome uruchamia się ponownie o 0, bez względu na wszystko.
To właśnie powyższy kod w konsoli Firefox:
CLICK: 63.82905432385121 Element: [object HTMLAudioElement] CurrentTime: 3.849546
aw Chrome:
CLICK: 63.82905432385121 Element: [object HTMLAudioElement] CurrentTime: 3.849546
zobaczyć? Ten sam! Widzimy, że Chromes widzi element audio HTML (ponieważ może on uzyskać wartość). Jeśli robię audio_element.currentTime = 10;
nadal nie działa (w Chrome, Firefox lojalnie restartuje w 10) ..
Spróbuj zadzwonić audio.stop(), a następnie audio.currentTime = 10, następnie audio.play(). –
Myślę, że chodziło o 'audio.pause()' ale tak, to działa ... W Firefox. Chrome nadal uruchamia się ponownie o 0: [ – yPhil
) Czy próbowałeś z innym kodekiem audio? – K3N