我需要从URL重现MP3。 所以,在我的页面中使用:
<ice:outputMedia binding="#{boardBean.opMedia}" id="opMedia"/>
<ice:commandButton image="#{icon.imagen}" action="#{boardBean.selectIcon(icon)}">
<f:ajax render="opMedia"/>
</ice:commandButton>
然后,在支持bean“BoardBean”(是@Viewscoped)
this.opMedia.setSource(uri.toString());
这个想法是当选择一个图标时,会形成带声音的网址,并将其设置为outputMedia的源。
在Google Chrome中效果很好。每次点击都会重新呈现ice:outputMedia
组件,以便重现mp3。但在Firefox和IExplorer中没有。我没有使用新属性重新渲染组件,因此不播放Mp3
任何想法为什么?是否有一种“更标准”的方法可以在所有浏览器中使用?
答案 0 :(得分:0)
我发现了问题。 uri.toString()
方法返回一个特殊字符为'&amp;'的字符串。此字符由&
替换。 Chrome可以将此解码为正确的字符并检索URL,但IE和Firefox不能。
现在,问题是要找到解决这个编码/解码问题的方法。但这将是另一个主题。