Fechar Dialog Primefaces

1 resposta
T

Boa tarde.

Tenho um dialog que contém um vídeo, o problema é que quando fecho o dialog o vídeo continua rodando (o dialog fecha mas o áudio continua).

<p:dialog header="Ver Video" widgetVar="carDialog" modal="true"
							appendToBody="true">

							<p:outputPanel id="carDetail" style="text-align:center;"
								layout="block">

							<h:outputText id="data"
									value="Data: #{videoLista.videoSelecionado.descricao}" />
 
<p:media value="/videos/#{videoLista.videoSelecionado.local}" width="350" height="286" player="quicktime">  
         <f:param name="autoPlay" value="false" />  
</p:media>  

							</p:outputPanel>
						</p:dialog>

Queria parar o video quando fecho o dialog.

1 Resposta

G

Oi Thales ,

Eu nunca usei o <p:media , mas acredito que vc consiga parar a execução atraves do seu Bean desta forma :

<p:dialog ...>  

   <p:ajax event="close" listener="#{videoListaBean.limparComponente()}" update="@this" immediate="false" />

   <p:media value="/videos/#{videoListaBean.videoSelecionado.local}" width="350" height="286" player="quicktime" binding="#{videoListaBean.videoBinding}">  
      ...
    </p:media>

</p:dialog>



public class videoListaBean (){

import org.primefaces.component.media.Media;

private Media media;

public void  limparComponente(CloseEvent event){

    this.media.setValue(null); // Ou tenta outro método desse "Media" que pare a execução

    // Você pode tentar tambem caso não der certo
    UIComponent comp = event.getComponent().findComponent(event.getComponent().getClientId());
    comp.clearInitialState();
    comp.getChildren().clear(); 

}
Criado 26 de agosto de 2013
Ultima resposta 27 de ago. de 2013
Respostas 1
Participantes 2