用java编写的利用浏览器连续播放音乐,已可以在任意位置开始连续播放音乐

声明这个是实用化的操作,我有一个公网ip.  现在手机每天都用浏览器播放存在服务器上的音乐。

首先mkdir 一个存放音乐文件的目录空music

再vi建一个music.html空文件  再用vi  写一个js空文件1.js,这个文件就是存放用于浏览器播发音乐的列表文件。远行用java编辑Music.java就会自动生成music目录对应的1.js文件。以后只需要music目录中增减歌曲后,再运行一下java Music就生成新的列表文件1.js  

特别注意,音乐名最好不要有(){ }   [ ]  空格等一切特殊符号。因为浏览器不认这些符号。

  

我一直用for 循环来读取音乐文件都没成功,但网上居然有读成功的,不懂为啥。最后用js的addeventlistener 才成功。我理解,这网页程序是单线程的,不能在程序的某处耗时间等待,就像java等待键盘输入一样。浏览器表现为死机的样子。必须一根筋的一下就生成网页html文件

至此以后就可以用浏览器连续播发自己喜欢的音乐了。不用担心音乐版权,不用下载音乐播发软件。如果和nas 或者公网ip 配合,就成为了简单的音乐服务器。哈哈哈

重点:本程序现在已可以在任意位置开始连续播发音乐,方法:先点连续播发按钮,首先播发的是第一首歌,马上按第一首的暂停键,就暂停第一首音乐的播发,好了,现在你可以按任意的歌的播发键后,它就以这首歌开始连续播放了。如不想听了,又可以暂停,点其他的歌。

软件如下:

java 生成连续浏览器播发程序Music.java

 


import java.net.*;
import java.io.*;

public class Music { 
	public static void main(String[] args) {
		File fl=new File("1.js");
		File fm=new File("music");
		try {
			FileWriter fw=new FileWriter(fl);
		
		String[] li=fm.list();
		int  c,k,p=0;
		for(c=0;c<li.length;c++) {
			
			String h=new String("document.write('<audio id="+c+"  src="+'"'+"music/"+li[c]+'"'+"  controls></audio>');");
			fw.write(h);
			fw.write("\n");
		}
		for(k=0;k<li.length;k++) {
			fw.write("var a"+k+"=document.getElementById("+'"'+k+'"'+");");
			fw.write("\n");
		}
		fw.write("function ss(){\n");
		fw.write("a"+p+".play();\n");
		for(p=0;p<li.length;p++) {
			 
			 
			 fw.write("a"+p+".addEventListener("+'"'+"ended"+'"'+",function(){\n");
			 fw.write("a"+(p+1)+".play();\n");
			 fw.write("},false);\n");
		}
		fw.write("}");
		fw.close();
		System.out.println("over");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}			
}

music.html 

<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<title>简单音乐播放器</title>		
</head>


<body>

<script type="text/javascript" src="1.js"></script>
<br>
<br>
<br>

<button onclick="ss()"> 连续播放</button>


</body>
		
</html>

document.write('<audio id=0  src="music/不仅仅是喜欢.flac"  controls></audio>');
document.write('<audio id=1  src="music/程响世界这么大还是遇见你.flac"  controls></audio>');
document.write('<audio id=2  src="music/cannon.m4a"  controls></audio>');
document.write('<audio id=3  src="music/外滩18号.flac"  controls></audio>');
document.write('<audio id=4  src="music/佐羽身后空无一人.mp3"  controls></audio>');
document.write('<audio id=5  src="music/听过你的歌.mp3"  controls></audio>');
document.write('<audio id=6  src="music/下坠.mp3"  controls></audio>');
document.write('<audio id=7  src="music/阿刁.mp3"  controls></audio>');
document.write('<audio id=8  src="music/清新的小女孩.mp3"  controls></audio>');
document.write('<audio id=9  src="music/天生一对.flac"  controls></audio>');
document.write('<audio id=10  src="music/张泽熙那个女孩.mp3"  controls></audio>');
document.write('<audio id=11  src="music/Рахымжан Жақайым.flac"  controls></audio>');
document.write('<audio id=12  src="music/еяхатмузыка.mp3"  controls></audio>');
document.write('<audio id=13  src="music/任舒瞳 那个女孩.flac"  controls></audio>');
document.write('<audio id=14  src="music/张泽熙程响那个女孩.flac"  controls></audio>');
document.write('<audio id=15  src="music/破裂.flac"  controls></audio>');
document.write('<audio id=16  src="music/你的答案.mp3"  controls></audio>');
document.write('<audio id=17  src="music/洛天依你是人间四月天.mp3"  controls></audio>');
document.write('<audio id=18  src="music/失眠飞行.mp3"  controls></audio>');
document.write('<audio id=19  src="music/伊晗孤独为荣.flac"  controls></audio>');
document.write('<audio id=20  src="music/Рождествоакхочется жить.flac"  controls></audio>');
document.write('<audio id=21  src="music/1.mp3"  controls></audio>');
document.write('<audio id=22  src="music/像风一样自由.flac"  controls></audio>');
document.write('<audio id=23  src="music/宋小睿少年.mp3"  controls></audio>');
document.write('<audio id=24  src="music/佐羽故事与酒.mp3"  controls></audio>');
document.write('<audio id=25  src="music/一个人挺好.flac"  controls></audio>');
document.write('<audio id=26  src="music/袁成杰外滩十八号.flac"  controls></audio>');
document.write('<audio id=27  src="music/心如止水.flac"  controls></audio>');
document.write('<audio id=28  src="music/赵唯博下坠Falling.mp3"  controls></audio>');
document.write('<audio id=29  src="music/张永健夜舞.flac"  controls></audio>');
document.write('<audio id=30  src="music/2.flac"  controls></audio>');
var a0=document.getElementById("0");
var a1=document.getElementById("1");
var a2=document.getElementById("2");
var a3=document.getElementById("3");
var a4=document.getElementById("4");
var a5=document.getElementById("5");
var a6=document.getElementById("6");
var a7=document.getElementById("7");
var a8=document.getElementById("8");
var a9=document.getElementById("9");
var a10=document.getElementById("10");
var a11=document.getElementById("11");
var a12=document.getElementById("12");
var a13=document.getElementById("13");
var a14=document.getElementById("14");
var a15=document.getElementById("15");
var a16=document.getElementById("16");
var a17=document.getElementById("17");
var a18=document.getElementById("18");
var a19=document.getElementById("19");
var a20=document.getElementById("20");
var a21=document.getElementById("21");
var a22=document.getElementById("22");
var a23=document.getElementById("23");
var a24=document.getElementById("24");
var a25=document.getElementById("25");
var a26=document.getElementById("26");
var a27=document.getElementById("27");
var a28=document.getElementById("28");
var a29=document.getElementById("29");
var a30=document.getElementById("30");
function ss(){
a0.play();
a0.addEventListener("ended",function(){
a1.play();
},false);
a1.addEventListener("ended",function(){
a2.play();
},false);
a2.addEventListener("ended",function(){
a3.play();
},false);
a3.addEventListener("ended",function(){
a4.play();
},false);
a4.addEventListener("ended",function(){
a5.play();
},false);
a5.addEventListener("ended",function(){
a6.play();
},false);
a6.addEventListener("ended",function(){
a7.play();
},false);
a7.addEventListener("ended",function(){
a8.play();
},false);
a8.addEventListener("ended",function(){
a9.play();
},false);
a9.addEventListener("ended",function(){
a10.play();
},false);
a10.addEventListener("ended",function(){
a11.play();
},false);
a11.addEventListener("ended",function(){
a12.play();
},false);
a12.addEventListener("ended",function(){
a13.play();
},false);
a13.addEventListener("ended",function(){
a14.play();
},false);
a14.addEventListener("ended",function(){
a15.play();
},false);
a15.addEventListener("ended",function(){
a16.play();
},false);
a16.addEventListener("ended",function(){
a17.play();
},false);
a17.addEventListener("ended",function(){
a18.play();
},false);
a18.addEventListener("ended",function(){
a19.play();
},false);
a19.addEventListener("ended",function(){
a20.play();
},false);
a20.addEventListener("ended",function(){
a21.play();
},false);
a21.addEventListener("ended",function(){
a22.play();
},false);
a22.addEventListener("ended",function(){
a23.play();
},false);
a23.addEventListener("ended",function(){
a24.play();
},false);
a24.addEventListener("ended",function(){
a25.play();
},false);
a25.addEventListener("ended",function(){
a26.play();
},false);
a26.addEventListener("ended",function(){
a27.play();
},false);
a27.addEventListener("ended",function(){
a28.play();
},false);
a28.addEventListener("ended",function(){
a29.play();
},false);
a29.addEventListener("ended",function(){
a30.play();
},false);
a30.addEventListener("ended",function(){
a31.play();
},false);
}

实际使用效果

761fab5eabbd4fa7896cc9d366845f96.png

 

第三张是自动生成的1.js文件

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值