/**
* 作者:Jz_xy
* 日期:2014.11.12
* 功能:播放wav音频
*
*/
package Demo1;
import java.awt.*;
import java.net.*;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import javax.media.*;
public class PlayerMusic{
public static void main(String[] args){
frame myframe=new frame();
myframe.setSize(500,500);
myframe.setVisible(true);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myframe.setLocation(500,500);
}
}
class frame extends JFrame implements ControllerListener {
Player myPlayer=null;
URL url=null;
//File file=new File("F:\\Entertainment\\Audio\\自己的\\V14122~7.WAv");
File file=new File("D:\\javademo\\document\\TankGame\\sound\\开始.wav");
Component vc,cc;
Panel mypanel=new Panel();
public frame(){
try {
url=file.toURI().toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
myPlayer=Manager.createPlayer(url);
} catch (NoPlayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.add(mypanel);
myPlayer.addControllerListener(this);
myPlayer.prefetch();
}
public void controllerUpdate (ControllerEvent e){
//如果是Player达到prefect状态,则开始
if(e instanceof PrefetchCompleteEvent){
myPlayer.start();
return;
}
//如果是已经完成实例,则加入控制面板,视频面板
if(e instanceof RealizeCompleteEvent){
vc = myPlayer.getVisualComponent();
if(vc != null)
add(vc);
cc = myPlayer.getControlPanelComponent();
if (cc != null)
add(cc, BorderLayout.SOUTH);
pack();
}
}
}
不是我写的,忘了从哪摘过来的了,目前还看不太懂这段代码。不过对WAV还是挺好用,不知道为什么播不了MP3,郁闷了。求教!