[英]can html5 audio streaming be 100 % sync with current device time
我想知道HTML5
音頻流是否可以與設備當前時間超級准確地同步。 就像我在設備時間播放10分鍾的音頻文件一樣01:00音頻從00:00開始,在01:05音頻在05:00播放並在01:10結束。 我的意思是,當我單擊播放HTML5音頻播放器時,它會根據當前設備時間播放音頻。
這是我嘗試過的方法,但音頻始終落后於時間(以毫秒為單位)。
var player = document.getElementById('music'); player.addEventListener('play', function() { var main_date = new Date(); var hour = main_date.getUTCHours(); var minutes = main_date.getUTCMinutes(); var seconds = main_date.getUTCSeconds(); var current_second = ( hour * 60 * 60 ) + ( minutes * 60 ) + seconds; var audio_start = current_second%player.duration ; player.currentTime = parseInt(audio_start); }, false); player.addEventListener('timeupdate', updateProgressBar, false); function updateProgressBar() { var percentage = Math.floor((100 / player.duration) * player.currentTime); var di = document.getElementById('datetime'); di.innerHTML = new Date() ; }
<div id="datetime"></div> <audio controls id="music"> <source src="http://www.easel.ca/wp-content/uploads/2018/03/ClAudioSync-599_99seconds_128kbps.mp3"> <audio>
最好的選擇是使用Web Audio API。
通過使用WAA,您通常通常會先將整個樣本加載到內存中,然后在AudioContext
上使用currentTime
來安排樣本。 使用offset參數確定樣本中的起點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.