2012-12-13 73 views
1

使用Meteor默認Handlebars模板時的問題。 當我將下面的標籤移動到html正文中時,它自動播放就好了。但在句柄模板的上下文中,我看到了控件,但不自動播放。任何方式來克服這個??音頻文件不會在模板中自動播放

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

回答

0

您可以嘗試在客戶端上的Meteor.startup()塊中添加一些JavaScript。參考見Starting and Stopping Audio in Javascripthow can I play a sound clip on page load?

我不知道爲什麼它的工作原理模板之外,而不是裏面,但我敢肯定的JS將工作和謹慎是勇氣:)

+0

問題是音頻文件是從反應性來源提供的,因此文件會發生變化。我想我可以'綁定'通過JQuery和明確通過JavaScript播放,但它似乎過度。 – user1899362

3

使用Template.showMedia.rendered執行一些代碼的大部分在流星已經提交模板之後。例如,您可以調用audio.play()或重新應用任何缺少的自動播放屬性。

當瀏覽器掛鉤自動播放時,這種不起作用的原因可能與此有關。 Meteor重新渲染可能不會引用這些相同的鉤子。就我個人而言,我覺得這應該「只是工作」。如果你不能解決問題,你可以考慮filing a bug on Github來看看開發者是否可以複製或者弄清楚發生了什麼。