📄 expaudioplayer.java
字号:
/**
基于JMF框架开发的
一个播放本地MP3的短小的程序
*/
import javax.media.*;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.MalformedURLException;
public class ExpAudioPlayer {
private Player audioPlayer = null;
public ExpAudioPlayer(URL url)
throws IOException,NoPlayerException,CannotRealizeException {
audioPlayer = Manager.createRealizedPlayer(url);
}
public ExpAudioPlayer(File file)
throws IOException,NoPlayerException,CannotRealizeException {
this(file.toURL());
}
public ExpAudioPlayer(String filename)
throws IOException,NoPlayerException,CannotRealizeException {
this(new File(filename));
}
//获得曲目的总时间
public long getTotalTime(){
Time t=audioPlayer.getDuration();
long l=(long)(t.getSeconds());
return l;
}
//播放
public void play(){
audioPlayer.start();
}
//停止播放
public void stop(){
audioPlayer.stop();
audioPlayer.close();
}
//主程序
public static void main(String[] args){
if(args.length==0){
System.out.println("Usage:\n");
System.out.println("java ql.abs.ExpAudioPlayer filename");
return;
}
String filename=args[0];
try{
ExpAudioPlayer player=new ExpAudioPlayer(filename);
//开始播放
player.play();
//延时曲目长度,以便曲目可以正常播放完成
Thread.sleep(player.getTotalTime()*1000);
//结束播放
player.stop();
System.exit(0);
}catch (Exception e){
e.printStackTrace();
System.exit(0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -