From 4ea5b2a4ad5f209a9bbc993c30c0f8f7fb06200f Mon Sep 17 00:00:00 2001 From: reliberate Date: Tue, 28 Jun 2016 12:08:36 -0600 Subject: [PATCH] Theme: Enhance audio playback indicator smoothness for files less than 30 sec in length. --- themes/default/template.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/themes/default/template.php b/themes/default/template.php index cd75ba3356..32a494f771 100644 --- a/themes/default/template.php +++ b/themes/default/template.php @@ -234,6 +234,7 @@ //audio playback functions var recording_audio; + var audio_clock; function recording_play(recording_id) { if (document.getElementById('recording_progress_bar_'+recording_id)) { @@ -245,15 +246,18 @@ recording_audio.volume = 1; recording_audio.play(); document.getElementById('recording_button_'+recording_id).innerHTML = ""; + audio_clock = setInterval(function () { update_progress(recording_id); }, 20); } else { recording_audio.pause(); document.getElementById('recording_button_'+recording_id).innerHTML = ""; + clearInterval(audio_clock); } } function recording_stop(recording_id) { recording_reset(recording_id); + clearInterval(audio_clock); } function recording_reset(recording_id) { @@ -264,6 +268,7 @@ document.getElementById('recording_progress_bar_'+recording_id).style.display='none'; } document.getElementById('recording_button_'+recording_id).innerHTML = ""; + clearInterval(audio_clock); } function update_progress(recording_id) { @@ -274,6 +279,9 @@ value = (100 / recording_audio.duration) * recording_audio.currentTime; } recording_progress.style.marginLeft = value + "%"; + if (parseInt(recording_audio.duration) > 30) { //seconds + clearInterval(audio_clock); + } }