Events 在Meteor.js中处理音频/视频ontimeupdate事件
我正在开发一个Meteor.js(1.0.0版)Web应用程序,它可以处理视频和音频。在某种情况下,我需要触发HTML5 audio.ontimeupdate()事件,但由于标准Meteor包中只有click、dbclick、focus、(…)是句柄,因此触发此事件时遇到问题 是否有可能以其他方式触发此事件 下面是一个代码示例: radio.jsEvents 在Meteor.js中处理音频/视频ontimeupdate事件,events,meteor,html5-audio,Events,Meteor,Html5 Audio,我正在开发一个Meteor.js(1.0.0版)Web应用程序,它可以处理视频和音频。在某种情况下,我需要触发HTML5 audio.ontimeupdate()事件,但由于标准Meteor包中只有click、dbclick、focus、(…)是句柄,因此触发此事件时遇到问题 是否有可能以其他方式触发此事件 下面是一个代码示例: radio.js Template.audioPlayer.helpers({ audio:function(){ audioSource =
Template.audioPlayer.helpers({
audio:function(){
audioSource = videos.findOne({_id:Session.get("playlist")[Session.get("queue")]});
myAudio = new Audio();
myAudio.src = audioSource.source;
return audioSource.source
}
});
Template.audioPlayer.events({
'click #mainPlay':function(){
myAudio.play();
},
'click #mainPause':function(){
myAudio.pause();
},
'myAudio.ontimeupdate':function(){
console.log("Current Track Position is: " + myAudio.currentTime);
}
});
在这种情况下,我希望程序只记录音频文件的当前位置。
有什么想法吗?我认为最好将音频元素放在DOM中,如下所示:
<template name="myAudio">
<button type="button">Play</button>
<audio src="{{audioSource}}"></audio>
</template>
如果您想在应用程序中显示当前时间,可以在事件处理程序中设置会话变量以反应式更新DOM节点。重新构造了我的代码,现在可与控制台一起使用:)谢谢!好提示!
Template.myAudio.helpers({
audioSource:function(){
var video=videos.findOne({_id:Session.get("playlist")[Session.get("queue")]});
return video.source;
}
});
Template.myAudio.events({
"click button":function(event,template){
template.find("audio").play();
},
"timeupdate audio":function(event,template){
console.log(template.find("audio").currentTime);
}
});