⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 play.jsp

📁 HomePlayer is an extention of the FreePlayer software provided by the french internet provider Free
💻 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 + -