0

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());

アイデアは、アイコンが選択されると、サウンド付きの URL が形成され、outputMedia のソースとして設定されるというものです。

Google chromeではうまく機能します。クリックするたびにice:outputMediaコンポーネントが再レンダリングされるため、mp3 が再現されます。しかし、Firefox と IExplorer ではそうではありません。コンポーネントを新しいプロパティで再レンダリングしないため、MP3 は再生されません

理由はありますか?これを行うための「より標準的な」方法で、すべてのブラウザで機能するものはありますか?

4

1 に答える 1

0

問題が見つかりました。このuri.toString()メソッドは、特殊文字「&」を含む文字列を返しています。この文字は に置き換えられ&amp;ます。Chrome はこれを正しい文字にデコードして URL を取得できますが、IE と Firefox はできません。

さて、問題はこのエンコード/デコードの問題の解決策を見つけることです。しかし、これは別のスレッドになります。

于 2012-04-26T20:51:45.160 に答える