我的模板中有一個音頻標籤,我需要在單擊按鈕上顯示它的當前時間。請檢查我的代碼如下:Javascript/HTML5:獲取音頻標籤的當前時間
var myaudio = document.getElementsByTagName("audio")[0];
var cur_time = myaudio.currentTime;
$('#curPosition').val(cur_time);
但它總是返回0作爲當前時間,而音頻正在播放。有人對此有任何想法嗎?
感謝
我的模板中有一個音頻標籤,我需要在單擊按鈕上顯示它的當前時間。請檢查我的代碼如下:Javascript/HTML5:獲取音頻標籤的當前時間
var myaudio = document.getElementsByTagName("audio")[0];
var cur_time = myaudio.currentTime;
$('#curPosition').val(cur_time);
但它總是返回0作爲當前時間,而音頻正在播放。有人對此有任何想法嗎?
感謝
你可以嘗試這樣的
<audio id="track" src="http://upload.wikimedia.org/wikipedia/commons/a/a9/Tromboon-sample.ogg"
ontimeupdate="document.getElementById('tracktime').innerHTML = Math.floor(this.currentTime) + '/' + Math.floor(this.duration);">
<p>Your browser does not support the audio element</p>
</audio>
<span id="tracktime">0/0</span>
<button onclick="document.getElementById('track').play();">Play</button>
或在JavaScript可以做到這一點
<audio id='audioTrack' ontimeupdate='updateTrackTime(this);'>
Audio tag not supported in this browser</audio>
<script>
function updateTrackTime(track){
var currTimeDiv = document.getElementById('currentTime');
var durationDiv = document.getElementById('duration');
var currTime = Math.floor(track.currentTime).toString();
var duration = Math.floor(track.duration).toString();
currTimeDiv.innerHTML = formatSecondsAsTime(currTime);
if (isNaN(duration)){
durationDiv.innerHTML = '00:00';
}
else{
durationDiv.innerHTML = formatSecondsAsTime(duration);
}
}
</script>
我目前得到超時的JavaScript
的它是一個錯字。您聲明var myaudio
然後使用audio.currentTime
不myaudio.currentTime
嘗試:
var myaudio = document.getElementsByTagName("audio")[0];
var cur_time = myaudio.currentTime;//<-----Change here
$('#curPosition').val(cur_time);
對不起,在將問題添加到堆棧時發生了錯字。萬分感謝!!。 –
@Akhil_sayone它適合我。請參閱DEMO – laaposto
是的..可能是我的瀏覽器問題。感謝更新。 –
提供一個小提琴請,因爲我需要的HTML也是如此。 –
請使用更正後的錯字在這裏檢查:http://jsfiddle.net/jAdhF/1/ –