当前访客身份:游客 [ 登录 | 加入开源中国 ]

代码分享

当前位置:
代码分享 » Java  » Web编程
分享到: 
收藏 +0
0
(教学使用代码,仅供参考)从服务器动态获取播放列表,并按照服务器的播放列表进行播放等操作
标签: <无>

代码片段(1) [全屏查看所有代码]

1. [文件] audio.jsp ~ 3KB     下载(10)     跳至 [1] [全屏预览]

<%@page import="java.io.IOException"%>
<%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%>
<%@page import="java.io.File"%>
<%@page import="java.io.File"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>音乐播放器</title>
</head>
<body>
	<h3>音乐播放器</h3>
	<audio id="audio">
		你的播放器不支持html5
	</audio>
	<div>
		<h5 id="songName"></h5>
	</div>
	<div>
		<input id="play" type="button" value="播放" >
		<input id="pause" type="button" value="暂停"> 
		<input id="next" type="button" value="下一曲"> 
	</div>
	
	<%
	File file = new File(application.getRealPath("/res/audio"));
	if(!file.exists()){
		System.out.println("目录不存在");
	}
	/* File fi = new File(application.getContextPath() + "/a.txt");
	if(!fi.exists()){
		try{
			fi.createNewFile();
		}catch(IOException e){
			System.out.println(fi.getAbsolutePath());
		}
		
	} */
	/* System.out.println(application.getRealPath("/")); */
	File[] files = file.listFiles();
	String filesString1 = "";
	
	for(File f : files){
		filesString1 = filesString1 + f.getPath().substring(91) + ",";
		/* filesString.replace("\\", "//"); */
		
		/* filesString = filesString.replace("E:\\teach\\java基础\\.metadata\\.plugins\\" +
				"org.eclipse.wst.server.core\\tmp2/wtpwebapps\\WebClassWork\\", ""); */
		/* System.out.println(filesString); */
	}
	
	char[] chars = filesString1.toCharArray();
	int i = 0;
	for(char c : chars){
		if(c == '\\'){
			chars[i] = '/';
		}
		i++;
	}
	String filesString = new String(chars);
	/* System.out.println(filesString); */
	%>
	<script type="text/javascript">
		//播放列表
		var audioList = setPlayList();
		//当前播放位置
		var curPro = -1;
		//播放器
		var audio = document.getElementById("audio");
		var songName = document.getElementById("songName");
		var playBtn = document.getElementById("play");
		var pauseBtn = document.getElementById("pause");
		var nextBtn = document.getElementById("next");

		//给按钮绑定事件
		playBtn.addEventListener("click", function(e) {
			//是否拥有可用资源
			canPlay();
			audio.play();
		}, false);
		pauseBtn.addEventListener("click", function(e) {
			//是否正在播放
			if(!audio.paused)
				audio.pause();
		}, false);
		nextBtn.addEventListener("click", function (e) {
			audio.pause();
			if(curPro < audioList.length - 2){
				audio.pause();
				curPro += 1;
				audio.src = "<%= request.getContextPath()%>/" + audioList[curPro];
				songName.innerHTML = audioList[curPro];
				audio.play();
				}else{
					curPro = 0;
					audio.src =  "/WebClassWork/" + audioList[curPro];
					songName.innerHTML = audioList[curPro]
					audio.play();
					}
		}, false);

		function canPlay(){
			if(curPro != -1){
				audio.src =  "/WebClassWork/" + audioList[curPro];
				}else{
				audio.src = "/WebClassWork/" + audioList[0];
				curPro = 0;
				songName.innerHTML = audioList[curPro];
					}
			}

		/**从服务器设置播放列表*/
		function setPlayList(){
			var filesStr = "<%=filesString %>";
			console.log(filesStr);
			var file = filesStr.split(",");
			return file;
		}
	</script>
</body>
</html>


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

开源从代码分享开始 分享代码
为为02的其它代码 全部(8)...