我正在使用Eclipse Indigo和primefaces JSF 我有来自文件的两个不同的流视频。获得使用:
@ManagedBean
@SessionScoped
public class pruebaControlador{
private StreamedContent myVideo; // + setter & Getter
private StreamedContent myVideo2; // + setter & Getter
public void videoInputStream(){
try{
inputStream = new FileInputStream("c://folder//video1.mp4");
myVideo = new DefaultStreamedContent(inputStream,"video/quicktime");
inputStream2 = new FileInputStream("c://folder//video2.mp4");
myVideo2 = new DefaultStreamedContent(inputStream2,"video/quicktime");
}Catch(Exception e){
e.printStackTrace();
}
}
}
到目前为止一直很好......
我的jsf包含以下内容:
<ui:define name="contentCenter">
<h:form id="formCenter" enctype="multipart/form-data"
prependId="false">
<h:panelGrid columns="1" id="panelVideo">
<p:media id="video" value="#{pruebaControlador.myVideo}"
width="800" height="600" player="quicktime">
<f:param name="scale" value="tofit" />
<f:param name="autoPlay" value="true" />
<f:param name="controller" value="true" />
<f:param name="loop" value="false" />
<f:param name="volume" value="50" />
<f:param name ="qtnext1" value="<#{pruebaControlador.myVideo2}> T<myself>" />
</p:media>
</h:panelGrid>
</h:form>
</ui:define>
但是没有打开视频2,显然没有找到存储在视频流中的URL 2
答案 0 :(得分:0)
我不认为这是可能的。你可能做的是用渲染的属性设置第二个<p:media.../>
,并在第一个视频完成后用javascript以某种方式说出,然后设置第一个<p:media rendered="false"/>
和第二个<p:media rendered:"true"/>
。如果您想了解我的意思的更多细节,我可以尝试为您提供更多详细信息。