Javaバックミュージックの追加

1298 ワード

最近、何人かの先輩が私にJavaの期末宿題にバックミュージックを追加してくれて、長い間Javaを考えていなかった私は一晩中かかってやっとできました.耻ずかしいです.ブログに記録して、自分に警告して、みんなを助けてあげましょう.
    JavaではAudioClipクラスで音楽再生,ループなどの操作が可能である.AudioClipでサポートされている音楽フォーマットは.wav、.mid、AIFF、AU、RMFですが、フォーマットの要求はかなり厳しいです.私はAudioClipで自分が録画したwavファイルを再生すると音がなく、長い間悩んでいたが、最後に私のwavファイルの内容がファイルの末尾を書いていないことに気づき、フォーマットが厳しいAudioClipには認識できなかった(この問題は私を一晩中悩ませた).
    AudioCLipの主な方法は、play()が順次音声を再生することである.loop()ループ再生音楽;stop()は再生を停止します.
    作り方1:
InputStream   is =null;   
AudioStream   as = null ; 
  is  =   getClass().getResourceAsStream("a.wav");  
try {
as =   new   AudioStream(is);
} catch (IOException e) {}  
AudioPlayer.player.start(as);
    この方法は音楽ファイルをストリームに入れて再生し、Javaアプリケーションに限られ、エラー、空ポインタ異常、またはストリーム異常を報告しやすく、推奨しません.
    作り方2:
  String   music  = "a.wav";    AudioClip   clip   =   Applet.newAudioClip(getClass().getResource(music)); 
    次のメソッドはAppletで実行しても問題ありませんが、Applicationでgetclass()が空のポインタを返し、失敗します.
    推奨方法:
private URL url;private AudioClip ac;
File f1 = new File("C:/3.wav");   try {    url= f1.toURL();} catch (MalformedURLException e) {//TODO Auto-generated catch blocke.printStackTrace();}    ac= Applet.newAudioClip(cb1);   ac.play();
    このメソッドには制限はありません.Javaプログラムはすべてサポートされています.