您当前的位置:首页 > 互联网教程

java如何播放wav文件

发布时间:2025-05-21 14:32:09    发布人:远客网络

java如何播放wav文件

一、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、如果你对这个过程有任何疑问或需要进一步的帮助,欢迎提问。