熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

使用java播放聲音文件

2022-06-13   來源: Java核心技術 

  因為java強大的類庫解決這個問題並不困難只是API的調用問題而已不過不同的調用也有區別

  很多人講要使用JFM不過我懶得去安裝所以另尋他法網上提供最多的方法就是利用Applet中的AudioClip來解決代碼很簡單如下

  public void play(String Filename)//Filename是樂曲名稱或說路徑(不過路徑我沒嘗試)

  {

  try {

  URL url = new URL(file: + Filename);

  AudioClip ac = AppletnewAudioClip(url);

  acplay();

  //acstop();//用此函數可以停止樂曲播放

  } catch (Exception e) {

  Systemoutprintln(e);

  }

  }

  當然前提是導入個包

  import javaappletApplet;

  import javaappletAudioClip;

  import URL;

  然而實踐證明這個方法並不好用播放的聲音斷斷續續聽起來簡直是一種折磨~(不曉得這是類庫本身的原因還是我電腦的故障~)後來發現了一個好方法是由中的神之淚花提供的

  public void play(String Filename)

  {

  try{

  // 用輸入流打開一音頻文件

  InputStream in = new FileInputStream(Filename);//FIlename 是你加載的聲音文件如(gamewav

  // 從輸入流中創建一個AudioStream對象

  AudioStream as = new AudioStream(in);

  AudioPlayerplayerstart(as);//用靜態成員playerstart播放音樂

  //AudioPlayerplayerstop(as);//關閉音樂播放

  //如果要實現循環播放則用下面的三句取代上面的AudioPlayerplayerstart(as);這句

  /*AudioData data = asgetData();

  ContinuousAudioDataStream gg= new ContinuousAudioDataStream (data);

  AudioPlayerplayerstart(gg);// Play audio

  */

  //如果要用一個 URL 做為聲音流的源(source)則用下面的代碼所示替換輸入流來創建聲音流

  /*AudioStream as = new AudioStream (urlopenStream());

  */

  } catch(FileNotFoundException e){

  Systemoutprint(FileNotFoundException );

  } catch(IOException e){

  Systemoutprint(有錯誤!);

  }

  }

  而要使用這個方法導入的包與上一方法不同

  import sunaudio*; //java提供的經常被忽略吧~

  import javaio*;

  使用這個方法在我電腦上播放很流暢


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26821.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.