java本身是不支持这些格式的,要播放的话,得调用外部的程序。
举一个调用记事本打开文本文件的例子:
String[] open = {"NotePad.exe","C:\\1.txt"};
Runtime.getRuntime().exec(open);
举一个调用记事本打开文本文件的例子:
String[] open = {"NotePad.exe","C:\\1.txt"};
Runtime.getRuntime().exec(open);
如果你想放MPEG4的,需要额外的包(在IBM alphawork);
如果你想放ASF,WMV……大概只能自己写了。不过如果是标准的RTP等协议的流媒体,应该是没有问题的。
支持列表:
http://java.sun.com/products/java-media/jmf/2.1.1/formats.htmlApplet不一定行(涉及到本地安全的问题)
就想楼上一位弟兄说的,有屁用啊?!删掉了事。
你好,你说有一个java播放器,能不能给让我也见识见识?
有源代码更好。多谢了
BTW,用yahoo搜一下,应该可以搜到的。
可以用play()方法实现!
如要获取一个wav文件并播放它,它被存在与小应用程序相同的位置,可以用如下格式:pay(getcodeBase(),"1.mav")
如果是通过url途径进行加载并播放的可以用getAudioClip()方法实现,具体格式如下:AudioClip clip=getAdiuoClip(getcodeBase(),"audio/1.wav"
其中1.wav文件被存放在audio目录下!这个方法只针对小应用程序,应用程序通过 newAudioClip()方法实现!
下面是一段参考程序(已经编译通过了,需要java虚拟机支持!):
import java.awt.*;
import java.applet.AudioClip;public class Looper extends javax.swing.JApplet implements Runnable {
AudioClip bgSound;
AudioClip beep;
Thread runner; public void init() {
bgSound = getAudioClip(getCodeBase(),"train.wav");
beep = getAudioClip(getCodeBase(), "whistle.wav");
} public void start() {
if (runner == null) {
runner = new Thread(this);
runner.start();
}
} public void stop() {
if (runner != null) {
if (bgSound != null)
bgSound.stop();
runner = null;
}
} public void run() {
if (bgSound != null)
bgSound.loop();
Thread thisThread = Thread.currentThread();
while (runner == thisThread) {
try {
Thread.sleep(9000);
if (beep != null)
beep.play();
} catch (InterruptedException e) { }
}
} public void paint(Graphics screen) {
Graphics2D screen2D = (Graphics2D)screen;
screen2D.drawString("Playing Sounds ...", 10, 10);
}
}
通过loop()方法对wav进行重复播放!