我想点击带有素面的按钮来播放媒体mp3,这有可能吗?我尝试更新媒体标签,但不起作用,当页面加载声音播放很好,但我想在点击事件后再次发声
<h:form>
<p:commandButton value="play" update="media"/>
<p:media id="media" value="/resources/sounds/ding.mp3" player="quicktime" style="visibility: hidden;">
<f:param name="autoPlay" value="true" />
</p:media>
</h:form>
答案 0 :(得分:0)
唯一明显的方法是使用javascript。
在quicktime插件上启用javascript控件(对于较旧的浏览器支持)
<p:media id="media" value="/resources/sounds/ding.mp3" player="quicktime" style="visibility: hidden;">
<f:param name="autoPlay" value="true" />
<f:param name="enablejavascript" value="true"/>
</p:media>
在按钮的Play
上的quicktime播放器上调用onclick
方法
<p:commandButton onclick="document.media.Play();" value="play" update="media"/>
对我来说,这不是一个理想的解决方案。如果您对此持开放态度,我建议您利用HTML5(和JSF 2.2)中提供的新<audio/>
标记
答案 1 :(得分:0)
使用p:media时,此组件没有关联的生成ID。你想要做的是将p:media包装在一个容器上,例如h:panelGrid。您将获得以下内容:
<h:form>
<p:commandButton value="play" update="mediaPanel"/>
<h:panelGrid id="mediaPanel">
<p:media id="media" value="/resources/sounds/ding.mp3" player="quicktime"
style="visibility: hidden;">
<f:param name="autoPlay" value="true" />
</p:media>
</h:panelGrid>
<h:form>
我使用PF5.0进行了测试,但它确实有效。