📄 play.jsp
字号:
<%@page contentType="text/html;charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@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.*"%>
<%@page import="org.homeplayer.tsbrowser.CookieManager"%>
<%@page import="org.homeplayer.util.pifreeplayer.PFPControl"%><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 = null ;
List playlist = (List) HPSession.get("SELECTEDMEDIAS") ;
if( media != null ) {
String guid = GUIDGenerator.makeGUID(media);
if( MultiMediaManager.shareInstance().getMediaManagerFor(mediaType)!=MediaManager.getCurrentMediaManager() ) {
MediaManager.setCurrentMediaManager(MultiMediaManager.shareInstance().getMediaManagerFor(mediaType)) ;
}
item = MediaManager.getCurrentMediaManager().getMediaItem(guid);
if( playlist!=null ) {
for( int i=0 ; i<playlist.size() ; i++ ) {
MediaItem m = (MediaItem)playlist.get(i) ;
if( m.getPath().equals(media) ) {
item = m ;
break ;
}
}
}
if( item == null ) {
item = MediaManager.getCurrentMediaManager().createMediaItem() ;
item.setPath(media) ;
item.setTitle(WebUtil.getParam(request, "Title", "Inconnu")) ;
playlist = null ;
}
}
boolean random = request.getParameter("Random") != null;
if( playlist == null ) {
playlist = new ArrayList();
if( item != null ) {
playlist.add(item) ;
}
} else if( item != null && (item instanceof Music || item instanceof Photo || item instanceof FreeBoxTV || item instanceof WEBTV || item instanceof WEBClip ) ) {
int index = playlist.indexOf(item) ;
ArrayList nplaylist = new ArrayList() ;
for( int i=Math.max(index,0) ; i<playlist.size() ; i++ ) {
nplaylist.add(playlist.get(i)) ;
}
for( int i=0 ; i<index ; i++ ) {
nplaylist.add(playlist.get(i)) ;
}
item = null ;
playlist = nplaylist ;
random = false ;
}
if(item instanceof Photo
|| item instanceof Music
|| item instanceof Film
|| item instanceof WEBClip) {
LastPlayed.addFileToLastPlayed(item);
}
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 (item != null) {
imageSource = new ImageSourceFromList(new File[] {new File(media)});
hppc.setRefresh(0, "/playphoto.jsp?fullscreen=true&pause=true");
HPSession.set("PLAY_URL", "/playphoto.jsp?fullscreen=true&pause=true");
} 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, "/playphoto.jsp?fullscreen=true");
HPSession.set("PLAY_URL", "/playphoto.jsp?fullscreen=true");
}
HPSession.set( "SLIDES", imageSource.getImages());
HPSession.set( "SLIDES_IDX", null );
HPSession.set( "SLIDES_TITLE", WebUtil.displayPhotoNameSlideshow );
HPSession.set("MUSICSLIDESHOW_LAST_MEDIA", null);
} else if (mediaType.equals("TELESITE")) {
//hppc.addHeaderCode("<meta name=vid content=\"99\">\n<meta name=vid content=\"68\">") ;
CookieManager.shareInstance().clear() ;
hppc.setRefresh(0, item.getPlayPath());
HPSession.set("RELOADBG",true) ;
%>
<jsp:include page="/WEB-INF/jsp/empty.jsp?video=true" />
<%
return ;
} else {
// start the reading of the media
// -------------------------------
String accessProtocol = HPConf.getString(HPConf.REMOTE_APROTOCOL);
VLCControl vlc = VLCControl.shareInstance().getUnsynchronizedInstance() ;
if (! hppc.isFreeBox()) {
if(accessProtocol.equals( "rtp" ))
{
vlc.setOutAddress(request.getRemoteAddr());
} else {
vlc.setOutAddress(request.getLocalAddr()) ;
}
}
if( item == null ) {
// play the playlist
if (random) {
playlist = new ArrayList(playlist);
Collections.shuffle(playlist);
}
vlc.playMedias(playlist);
} 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 {
if( PFPControl.acceptMedia(item) ) {
PFPControl.shareInstance().playMedia(item) ;
} else {
vlc.playMedia( item ) ;
}
}
}
// compute the next url
//---------------------
String next = "/play.jsp" ;
boolean musicslideshow = HPConf.getBool(HPConf.SLIDESHOW_MUSIC_ACTIVATED);
HPSession.set("MUSICSLIDESHOW_LAST_MEDIA", null);
if (! hppc.isFreeBox()) {
next = "/playweb.jsp";
} else if( mediaType.equals("WEBRADIO")) {
next = !musicslideshow ? "/musicslideshow.jsp?level=2" : "/screensaver.jsp" ;
HPSession.set("PLAY_URL",next);
} else if ( mediaType.startsWith(Music.nomType) || (mediaType.startsWith("FILM"))) {
if (mediaType.startsWith("MUSIC") ) {
next = !musicslideshow ? "/musicslideshow.jsp?level=2": "/screensaver.jsp";
HPSession.set("PLAY_URL", next);
} 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("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 + -