2013-03-25 104 views
2

我想使用流星来操纵一组自定义的html5视频控件。我的模板代码完全由以下几点:流星会议不与html5视频

Template.video.created = -> 
    Session.set 'videoPlaying', false 

Template.video.events 
    'click .video-button-play': -> 
    video = $('video')[0] 
    if video.paused then video.play() else video.pause() 
    Session.set 'videoPlaying', not video.paused 

Template.video.helpers 
    isPlaying: -> 
    true 

相关的HTML如下:

<div class="video-button video-button-play"> 
    {{#if isPlaying}} 
    <i class="icon-pause"></i> 
    {{else}} 
    <i class="icon-play"></i> 
    {{/if}} 
</div> 

在视频停止上述工程,并在正确的时间开始,如果我查询会话来自它的控制台的数据。然而,当我从助手那里读到会话数据的时候,所有的事情都变成了地狱 - 一些点击没有结果,有些重新开始播放视频,有些则只是播放音频。特别狂野的是,即使记录会话如:

Template.video.helpers 
    isPlaying: -> 
    console.log Session.get('videoPlaying') 
    true 

导致同样的问题。

SOLUTION:我使用保存,并把录像放在一个恒定区(感谢skeetmtp)尝试和发现,使用恒定区是最好的解决方案,因为它让我可以继续使用与视频的海报。

回答

2

流星正在重建整个“视频”模板,每当videoPlaying改变,我想你的自定义HTML5视频是在这个模板。 你应该尝试或者(如果可能)

无有更多关于你的html代码的信息(特别是自定义视频控件),我无法帮助你。

+0

感谢您的建议 - 我现在就试试。我刚刚在我的问题结尾处添加了一些示例代码的链接。 – 2013-03-25 23:28:17

+0

'Template.video.preserve ['video']'似乎解决了这个问题,但我不得不删除海报,这是不幸的。 – 2013-03-25 23:41:12