如何使用JavaFX播放本地音乐?

如何使用JavaFX播放本地音乐?,第1张

public void play(String Filename)

{

try{

// 用输入流打开一音频文件

InputStream in = new FileInputStream(Filename)//FIlename 是你加载的声音文件如(“game.wav”)

// 从输入流中创建一个AudioStream对象

AudioStream as = new AudioStream(in)

AudioPlayer.player.start(as)//用静态成员player.start播放音乐

//AudioPlayer.player.stop(as)//关闭音乐播放

//如果要实现循环播放,则用下面的三句取代上面的“AudioPlayer.player.start(as)”这句

/*AudioData data = as.getData()

ContinuousAudioDataStream gg= new ContinuousAudioDataStream (data)

AudioPlayer.player.start(gg)// Play audio.

*/

//如果要用一个 URL 做为声音流的源(source),则用下面的代码所示替换输入流来创建声音流:

/*AudioStream as = new AudioStream (url.openStream())

*/

} catch(FileNotFoundException e){

System.out.print("FileNotFoundException ")

} catch(IOException e){

System.out.print("有错误!")

}

}

JAVA应用程序添加背景音乐示例:

1.先定义一个 URL 对象,并赋NULL值;

URL   musicURL   =   null

2.然后为定义的 URL 赋值,即得到要播放的URL地址,

musicURL   =   new   URL( "音乐地址");//得到要播放音乐的url

3.创建一个播放音频的实例,并得到这个实例

AudioClip   ac   =   Applet.newAudioClip(musicURL)  //得到一个播放音频的实例      

4.进行播放控制

ac.play()  //播放一编

ac.loop()  //循环播放

ac.stop();//停止

播放本地音乐示例:

private void playMusic(){

       try {

           javax.media.Player player

           if(null==player){

               File musicFile=new File("./music.mp3")//得到一个MP3文件

               if(musicFile.exists()){

                   MediaLocator  locator=new MediaLocator("file:"+musicFile.getAbsolutePath())

                   player = Manager.createRealizedPlayer(locator)

                   player.prefetch()//预读文件

               }else{

                   System.err.println(pro.getMusicFile()+" 找不到")

               }

           }

           //centerpanel.add(player.getControlPanelComponent()!=null?player.getControlPanelComponent():null)//显示播放工具

           player.start()//播放

       } catch (CannotRealizeException ex) {

           ex.printStackTrace()

       } catch (NoPlayerException ex) {

           ex.printStackTrace()

       } catch (IOException ex) {

           ex.printStackTrace()

       }

   }

你可以试一下下面的代码

import java.applet.AudioClip

import java.io.*

import java.applet.Applet

import java.awt.Frame

import java.net.MalformedURLException

import java.net.URL

public class JavaClip extends Frame{

public JavaClip(){

super()

}

public static void main(String args[]) {

try {

URL cb

File f = new File("C:\\Documents and Settings\\Administrator\\桌面\\刀出鞘.wav")//引号里面的是音乐文件所在的绝对鹿筋

cb = f.toURL()

AudioClip aau

aau = Applet.newAudioClip(cb)

//aau.play()

aau.loop()

//循环播放 aau.play() 单曲 aau.stop()停止播放

JavaClip frame=new JavaClip()

//frame.setBounds(0, 0, 300, 200)

//frame.setVisible(true)

} catch (MalformedURLException e) {

e.printStackTrace()

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11587766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存