我的音频持续时间是5分钟= 5:00,但是收听整个音频的时间太长了,所以我得到了一个标签,例如2:00分钟到3:00分钟,所以我想要的do是播放HTML5音频中的标签,意思是从2:00分钟到3:00分钟播放。
Here is what I found how to play the start duration
$('#audio').bind('canplay', function() {
this.currentTime = 29; // jumps to 29th secs
});
更新
这是我的代码
<audio id="audio" controls="controls" class="span4">
<source src="file/test.mp3" type="audio/ogg">
<source src="file/test.mp3" type="audio/mpeg">
<source src="file/test.mp3" type="audio/wav">
Your browser does not support the audio element. Please try other browser
</audio>
这是我的代码示例
AJAX
$('.start_tag').click(function() {
var sec = $(this).attr('data-id');
var file = $(this).attr('data-file');
show_tag(sec,file);
});
function show_tag(sec,file)
{
$.ajax({
type: "POST",
url: config.base_url + 'index.php/qm/show_tag',
data : {
sec : sec,
file : file,
},
success : function(data) {
$('.show_tag').empty().append(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest + " : " + textStatus + " : " + errorThrown);
}
});
}
Ajax发布数据
function show_tag()
{
$sec = $this->input->post('sec');
$record_filename = $this->input->post('file');
$table = '<h4 style="margin-left:31px;">Tagged File</h4>';
$table .= '<audio id="audio" controls="controls" class="span4 video1">';
$table .= '<source src="'.base_url().'file/'.$record_filename.'" type="audio/ogg">';
$table .= '<source src="'.base_url().'file/'.$record_filename.'" type="audio/wav">';
$table .= '<source src="'.base_url().'file/'.$record_filename.'" type="audio/mpeg">';
$table .= 'Your browser does not support the audio element. Please try other browser';
$table .= '</audio>';
$table .= '<script>';
$table .= "$('#audio').bind('canplay', function() {";
$table .= 'this.currentTime = '.$sec.';';
$table .= '}); </script>';
/* $table .= '<script>';
$table .= "$('#audio').bind('timeupdate', function() {";
$table .= ' if (this.currentTime >= '.$sec.') this.pause();';
$table .= '}); </script>';
*/
echo $table;
}
我所做的是点击开始标记时,它将转到当前音频时间
答案 0 :(得分:3)
您可以收听timeupdate
事件,并在视频达到当前时间3分钟后暂停视频。
$('#audio').bind('timeupdate', function () {
if (this.currentTime >= 180) this.pause();
}
以下是您可以在媒体元素上收听的事件列表: MDN