Events 在Meteor.js中处理音频/视频ontimeupdate事件

Events 在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 =

我正在开发一个Meteor.js(1.0.0版)Web应用程序,它可以处理视频和音频。在某种情况下,我需要触发HTML5 audio.ontimeupdate()事件,但由于标准Meteor包中只有click、dbclick、focus、(…)是句柄,因此触发此事件时遇到问题

是否有可能以其他方式触发此事件

下面是一个代码示例:

radio.js

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);
  }
});