java如何播放wav文件
发布时间:2025-05-21 14:32:09 发布人:远客网络
一、java如何播放wav文件
1、建议使用jmf(java media framwork),这样就能播放mp3等众多格式的音乐了;去sun官网下一个jmf,安装好后,把
2、jmf.jar包引入便可使用,给出例zi代码:使用方法:构造函数中传入文件路径名即可,播放、暂停、继续、停止等功能均已实现。
3、/*************************************************
4、*************************************************/
5、 public class MusicPlay implements Runnable{
6、 private Time zeroTime= new Time(0);
7、 private boolean isloop= false;
8、/*************************************************
9、* Function: MusicPlay Description: constructor, load the music file and
10、* get ready for play Called By: MultiMedia()
11、*************************************************/
12、//实例化各个参数 filename为文件名,可为绝对路径
13、 public MusicPlay(String filename){
14、 File file= new File(filename);
15、 player= Manager.createRealizedPlayer(file.toURI().toURL());
16、 player.addControllerListener(new ControllListener());
17、} catch(CannotRealizeException e){
18、} catch(MalformedURLException e){
19、/*************************************************
20、* Function: isRunning Description: test if this music is playing Called
21、*************************************************/
22、 return player.getState()== Player.Started;
23、/*************************************************
24、* Function: play Description: play the music for once Called By:
25、*************************************************/
26、/*************************************************
27、* Function: replay Description: replay the music Called By: musics that
28、* will be played many times will invoke this methed
29、*************************************************/
30、 if(player.getState()== Controller.Prefetched)
31、 player.setMediaTime(zeroTime);
32、/*************************************************
33、* Function: stop Description: stop this music Called By: stopAll() of
34、* upper class,suspendAll() of upper
35、* class,BackroundForMenuPanel,GameOverPanel
36、*************************************************/
37、/*************************************************
38、* Function: close Description: dispose the music Called By: closeAll()
39、*************************************************/
40、/*************************************************
41、* Function: loop Description: make the music played repetitiously
42、* Called By: music that will repetitious play
43、*************************************************/
44、/*************************************************
45、* Function: run Description: trig this music Called By: Override method
46、*************************************************/
47、/*************************************************
48、* Subclass: ControllListener Description: listener for playing and
49、* implement playing repetitiously
50、*************************************************/
51、//通过对播放进度的监听,实现循环播放
52、 private class ControllListener implements ControllerListener{
53、 public void controllerUpdate(ControllerEvent e){
54、 if(e instanceof EndOfMediaEvent){
55、 player.setMediaTime(new Time(0));
二、Java编程实现音乐播放
开发一个Java程序来播放音乐是一个有趣且实用的任务。只需要正确设置音乐文件的URL地址,例如使用new URL("file:/C:/tmp/1/Windows Ding.wav"),即可播放音乐。此程序不仅支持播放.wav格式的音乐文件,还能够兼容其他格式,如.au。如果你希望音乐播放时不循环,只需简单地移除audio1.loop();这一行代码即可。
下面是一个简单的Java类示例,展示了如何实现这一功能:
import java.net.MalformedURLException;
public class D extends JFrame{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
codebase= new URL("file:/C:/tmp/1/Windows Ding.wav");
} catch(MalformedURLException e){
AudioClip audio1=Applet.newAudioClip(codebase);
public static void main(String[] args){
这个程序首先创建了一个JFrame窗口,并设置了窗口的大小和关闭行为。接下来,它尝试创建一个URL对象来引用音乐文件的位置。然后,通过Applet.newAudioClip方法加载音乐文件,并使用audio1.loop()使其循环播放。这个例子中的main方法启动了这个窗口。
值得注意的是,使用URL路径播放音频文件时,需要确保路径正确且文件存在,否则程序将抛出异常。
三、java 里面怎么调用本地媒体播放器
1、在Java中调用本地媒体播放器,例如Windows Media Player,可以通过Runtime类实现。下面是一个简单的示例代码,展示了如何执行这一操作。
2、首先,确保已经导入了必要的类:
3、接着,定义一个类来封装执行命令的逻辑:
4、public class TestExecPlayer{ public static void main(String args[]){ String thePlayerPath="C:\\Program Files\\Windows Media Player\\wmplayer.exe";/*播放器的路径*/ try{ Process ps= Runtime.getRuntime().exec(thePlayerPath);} catch(IOException e){ e.printStackTrace();}}}
5、该代码的关键在于使用Runtime类的exec方法执行命令。在这里,我们直接提供媒体播放器的路径作为命令。当程序运行时,它会启动指定的播放器。
6、需要注意的是,这个示例假设你已经正确设置了媒体播放器的路径。如果路径不正确,将会抛出IOException。同时,捕获异常并打印堆栈跟踪有助于调试和错误处理。
7、此外,这个简单的示例仅展示了如何启动播放器。如果你需要进一步控制播放器的行为(例如播放特定的文件或跳转到特定时间点),你可能需要更深入地研究媒体播放器的命令行选项。
8、总之,通过Runtime.exec方法,你可以轻松地从Java程序中调用本地媒体播放器。这为自动化播放音视频文件提供了便利。
9、如果你对这个过程有任何疑问或需要进一步的帮助,欢迎提问。