Jelajahi Sumber

Theme: Enhance audio playback indicator smoothness for files less than 30 sec in length.

reliberate 9 tahun lalu
induk
melakukan
8758da679d
1 mengubah file dengan 8 tambahan dan 0 penghapusan
  1. 8 0
      themes/default/template.php

+ 8 - 0
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 = "<?php echo str_replace("class='list_control_icon'", "class='list_control_icon' style='opacity: 1;'", $v_link_label_pause); ?>";
+				audio_clock = setInterval(function () { update_progress(recording_id); }, 20);
 			}
 			else {
 				recording_audio.pause();
 				document.getElementById('recording_button_'+recording_id).innerHTML = "<?php echo $v_link_label_play; ?>";
+				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 = "<?php echo $v_link_label_play; ?>";
+			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);
+			}
 		}
 
 </script>