HTML5:如何获取音频标签的currentTime和持续时间(以毫秒为单位)
HTML5: How to get currentTime and duration of Audio Tag in milliseconds
我正在使用HTML5音频标记来播放模板中的声音文件。出于某种目的,我需要跟踪显示为毫秒的currentTime和持续时间。现在我只能在几秒钟内得到这些值。有什么可能的方法吗?以下是我的代码:
HTML
<audio controls id="track" src="<path-to-soundtrack>"
ontimeupdate="TrackAudio(this)">
<p>Your browser does not support the audio element</p>
</audio>
JAVASCRIPT
function TrackAudio(element){
var curTime = Math.floor(element.currentTime);
console.log(curTime) //Value in seconds.
}
您可以使用:
<audio id="track" controls>
<source src="your.mp3" type="audio/mpeg">
<source src="your.ogg" type="audio/ogg">
</audio>
<script type="text/javascript">
var audio = document.getElementById('track');
audio.addEventListener('timeupdate',function(){
var currentTimeMs = audio.currentTime*1000;
console.log(currentTimeMs);
},false);
</script>
有关时间更新事件精度的更多信息,请阅读此处。它取决于浏览器的实现,所以请记住,不同的浏览器/设备会得到不同的结果。
您应该使用addEventListener方法,而不是ontimeupdate属性——它更易于维护。
此外,如果你需要浏览器覆盖范围,最好同时使用ogg和mp3音频文件作为源。
相关文章:
- 如果宽度是百分比,如何设置以px为单位的图像高度
- 如何将datetime转换为以毫秒为单位的epoch时间javascript
- 每小时倒计时一次,但以30分钟为单位
- 以天为单位计算年龄-Javascript
- 是否可以使用javascript获取以em为单位的窗口宽度
- 获取以屏幕像素为单位的旋转SVG元素的边界
- GridStack项的高度和宽度(以像素为单位)
- 有没有一种方法可以检查javascript以毫秒为单位执行一个函数需要多长时间
- JQPlot's仪表-以针为单位显示值
- Moment.js unix时间戳,以分钟为单位显示以前的时间
- 从Javascript到C#获取正确的日期(以毫秒为单位)
- 远距离变换元素的宽度/高度(以像素为单位)
- jquery匹配以px为单位的样式字体大小的元素
- 以周为单位计算日期差异(Javascript)
- 以非像素为单位获取HTML DOM元素的CSS高度,在我的例子中是英寸
- Three.js从相机中提取以弧度为单位的旋转
- 为什么setInterval不是以千毫秒为单位
- JavaScript-从HTML img src中获取以字节为单位的大小
- 使用本地存储以毫秒为单位占用时间
- HTML5:如何获取音频标签的currentTime和持续时间(以毫秒为单位)