【发布时间】:2018-10-20 15:55:56
【问题描述】:
我正在尝试为我的 html5 音频播放器制作进度条,并制作通过点击更改曲目播放时间的功能。我决定用 input[range] 来做,但是当我点击 bar 当前播放时间没有更新时,曲目只是从头开始播放:
我的html:
<audio controls='controls' class="track">
<source src="{{ user_lib.audio_file.url }}" type="audio/mpeg">
<source src="{{ user_lib.audio_file.url }}" type='audio/ogg; codecs=vorbis' />
<p>Your user agent does not support the HTML5 Audio element.</p>
</audio>
<div class="progress-bar">
<input type="range" min="0" max="100" value="0" step="1" class="track-pb"
onchange="PBtap()" id="track-pb"/>
</div>
我的js:
function PBtap() {
$('#track-pb').on('input propertychange', function() {
var currenttrack = $('.track')[0];
var val = parseInt($(this).val() * currenttrack.duration / 100, 10)
$('#track-pb').prop("value", val);
currenttrack.currentTime = val;
})
}
我尝试使用
$(currenttrack).bind('canplay', function() {
this.currentTime = val;
});
我做错了什么?
【问题讨论】:
-
您能发布完整的 HTML,包括实际的音频元素吗? (理想情况下在 codepen 或 jsfiddle 中)。您可能不希望
$('#track-pb').on('input propertychange', function() {包含在PBtap()中,但我不确定这是否能解决您的问题。 -
我添加了音频元素。其他代码与音频标签无关。我不能真正将它上传到 jsfiddle 或 codepen,因为我有一些 django 变量,不确定它会在那里工作
标签: javascript jquery html audio html5-audio