📄 play.jsp
字号:
<%@page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="org.homeplayer.data.*"%>
<%@page import="org.homeplayer.util.*"%>
<%@page import="org.homeplayer.recorder.*"%>
<%@page import="org.homeplayer.playlist.operators.*"%>
<%@page import="java.util.*"%>
<%@page import="java.io.*"%>
<jsp:useBean id="hppc" class="org.homeplayer.web.HPPageContext" scope="request">
<jsp:setProperty name="hppc" property="temporaryPage" value="true"/>
<jsp:setProperty name="hppc" property="request" value="<%=request%>"/>
</jsp:useBean>
<%
String mediaType = WebUtil.getParam(request, "MediaType", Film.nomType);
String media = WebUtil.getParam(request, "Media", null);
MediaItem item = media == null ? null : MediaManager.getCurrentMediaManager().getMediaItem(GUIDGenerator.makeGUID(media));
List playlist = (List) HPSession.get("SELECTEDMEDIAS") ;
if( playlist == null ) {
playlist = new ArrayList();
if( item != null ) {
playlist.add(item) ;
}
}
if(item instanceof Photo
|| item instanceof Music
|| item instanceof Film
|| item instanceof WEBClip) {
LastPlayed.addFileToLastPlayed(item);
}
boolean random = request.getParameter("Random") != null;
if( VLCRecorder.shareInstance().isRecording() && VLCRecorder.shareInstance().isTimeShiftMode()==true ) {
MediaItem rmedia = VLCRecorder.shareInstance().getMedia() ;
VLCRecorder.shareInstance().stopRecord() ;
if( rmedia instanceof FreeBoxTV ) {
((FreeBoxTV)rmedia).setTempoFile(null) ;
}
}
if (mediaType.equals("PHOTO")) {
ImageSource imageSource;
if (media != null) {
imageSource = new ImageSourceFromList(new File[] {new File(media)});
//hppc.setRefresh(0, "/slideshow.jsp?fullscreen=true&pause=true");
hppc.setRefresh("/slideshow.jsp?Media="+WebUtil.urlEncode(media));
HPSession.set("PLAY_URL", "/slideshow.jsp");
} else {
List tmpFiles = new ArrayList(playlist.size());
for (Iterator it = playlist.iterator();it.hasNext();) {
tmpFiles.add(new File(((Photo) it.next()).getPath()));
}
if (random) {
Collections.shuffle(tmpFiles);
}
imageSource = new ImageSourceFromList((File[]) tmpFiles.toArray(new File[playlist.size()]));
//hppc.setRefresh(0, "/slideshow.jsp?fullscreen=true");
hppc.setRefresh("/slideshow.jsp");
HPSession.set("PLAY_URL", "/slideshow.jsp");
}
HPSession.set( "SLIDES", imageSource.getImages());
HPSession.set( "SLIDES_IDX", null );
HPSession.set( "SLIDES_TITLE", WebUtil.displayPhotoNameSlideshow );
HPSession.set("MUSICSLIDESHOW_LAST_MEDIA", null);
} else {
// start the reading of the media
// -------------------------------
String accessProtocol = HPConf.getString(HPConf.REMOTE_APROTOCOL);
VLCControl vlc = VLCControl.shareInstance().getUnsynchronizedInstance() ;
if (! hppc.isFreeBox()) {
vlc.setServerAddress(request.getServerName());
if(accessProtocol.equals( "rtp" ) || accessProtocol.equals( "udp" ))
{
vlc.setOutAddress(request.getRemoteAddr());
} else {
vlc.setOutAddress(request.getLocalAddr()) ;
//vlc.setOutAddress(request.getRemoteAddr()) ;
}
}
if( item == null ) {
// play the playlist
if (random) {
playlist = new ArrayList(playlist);
Collections.shuffle(playlist);
}
vlc.playMedias(playlist);
} else if( item instanceof FreeBoxTV ) {
vlc.playMedias(playlist) ;
VLCInfo info = vlc.getInfo() ;
int id = Integer.parseInt(info.getFirstNodeID()) ;
vlc.action( "control=play&item="+(id+playlist.indexOf(item)) ) ;
} else {
if( item.getPlayPath().toLowerCase().endsWith(".iso") ) {
vlc.playDVD(item.getPlayPath(), ! HPConf.getBool(HPConf.SERVICES_STEREO_MODE),-1, HPConf.getString(HPConf.DVD_AUDIO),HPConf.getString(HPConf.DVD_SPU)) ;
} else {
vlc.playMedia( item ) ;
}
}
// compute the next url
//---------------------
String next = "/play.jsp" ;
boolean slideshow = HPConf.getBool(HPConf.SLIDESHOW_MUSIC_ACTIVATED);
HPSession.set("MUSICSLIDESHOW_LAST_MEDIA", null);
if (! hppc.isFreeBox()) {
next = "/playweb.jsp?MediaType="+mediaType;
} else if( mediaType.equals("WEBRADIO")) {
next = slideshow ? "/musicslideshow.jsp?level=2" : "/play.jsp" ;
} else if ( mediaType.startsWith(Music.nomType) || (mediaType.startsWith("FILM"))) {
if (mediaType.startsWith("MUSIC") && slideshow) {
HPSession.set("PLAY_URL", "/musicslideshow.jsp?level=2");
} else {
HPSession.set("PLAY_URL", "/play.jsp");
}
if ((item!=null) && (! BookmarkManager.getInstance().getBookmarks(new File(item.getPath())).isEmpty())) {
next = "/info.jsp?bookmarks=true&disapear=8";
} else if (mediaType.startsWith("MUSIC") && slideshow) {
next = "/musicslideshow.jsp?level=2";
}
} else if ( mediaType.startsWith("WEBCLIP")) {
next = "/play.jsp" ;
}
hppc.setRefresh("/medialoading.jsp?next=" + WebUtil.urlEncode(next));
}
%>
<jsp:include page="/WEB-INF/jsp/empty.jsp" />
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -