音频文件不会在模板中自动播放

时间:2012-12-13 00:32:08

标签: audio meteor autoplay

将Meteor与默认Handlebars模板一起使用时的问题。 当我将下面的标记移动到html正文中时,它会自动播放。但是在把手模板的上下文中,我看到了控件,但它没有自动播放。有什么方法可以解决这个问题吗?

<template name="showMedia">
  <div class="background_audio">
    <audio controls autoplay> 
         <source src="assets/screenDisplayAlert.wav">
    </audio>
  </div>
</template>

2 个答案:

答案 0 :(得分:3)

在Meteor渲染模板后,使用Template.showMedia.rendered执行一些代码。例如,您可以调用audio.play()或重新应用任何缺少的自动播放属性。

这不起作用的原因可能与浏览器挂钩自动播放有关。由Meteor重新渲染可能不会调用那些相同的钩子。就个人而言,我觉得应该“只是工作”。如果你无法修复它,你可以考虑filing a bug on Github来看看开发人员是否可以重现或弄清楚发生了什么。

答案 1 :(得分:0)

您可以尝试在客户端的Meteor.startup()块中添加一些javascript。有关参考,请参阅Starting and Stopping Audio in Javascripthow can I play a sound clip on page load?

我不知道为什么它在模板之外而不是在内部工作,但我很确定JS会起作用,并且自由裁量权是勇气的更好部分:)