将Meteor与默认Handlebars模板一起使用时的问题。 当我将下面的标记移动到html正文中时,它会自动播放。但是在把手模板的上下文中,我看到了控件,但它没有自动播放。有什么方法可以解决这个问题吗?
<template name="showMedia">
<div class="background_audio">
<audio controls autoplay>
<source src="assets/screenDisplayAlert.wav">
</audio>
</div>
</template>
答案 0 :(得分:3)
在Meteor渲染模板后,使用Template.showMedia.rendered
执行一些代码。例如,您可以调用audio.play()或重新应用任何缺少的自动播放属性。
这不起作用的原因可能与浏览器挂钩自动播放有关。由Meteor重新渲染可能不会调用那些相同的钩子。就个人而言,我觉得应该“只是工作”。如果你无法修复它,你可以考虑filing a bug on Github来看看开发人员是否可以重现或弄清楚发生了什么。
答案 1 :(得分:0)
您可以尝试在客户端的Meteor.startup()
块中添加一些javascript。有关参考,请参阅Starting and Stopping Audio in Javascript和how can I play a sound clip on page load?。
我不知道为什么它在模板之外而不是在内部工作,但我很确定JS会起作用,并且自由裁量权是勇气的更好部分:)