簡體   English   中英

Java聲音文件未播放3

[英]Java Sound File Not Playing3

你好,我有這段代碼來打開聲音WAV文件,但沒有用

  import java.io.IOException;
 import java.net.URL;
 import javax.sound.sampled.AudioInputStream;
  import javax.sound.sampled.AudioSystem;
  import javax.sound.sampled.Clip;
 import javax.sound.sampled.DataLine;
 import javax.sound.sampled.LineUnavailableException;
 import javax.sound.sampled.Mixer;
 import javax.sound.sampled.UnsupportedAudioFileException;
 import sun.applet.Main;


 public class Sound1 {


 public static Mixer mixer;
 public static Clip clip;
 public static void main(String[] args)          {              
    // TODO code application logic here
    Mixer.Info[] mixinfo =AudioSystem.getMixerInfo();
     for(Mixer.Info info :mixinfo)
    {
        System.out.println(info.getName()+"...."+info.getDescription());
        mixer = AudioSystem.getMixer(mixinfo[0]);

    }
        DataLine.Info datainfo =new DataLine.Info(Clip.class, null);

        try
        {
            clip =(Clip)mixer.getLine(datainfo);
        }
        catch(LineUnavailableException lue)
        {
            lue.printStackTrace();
        }
        try
        {
            URL soundurl = Main.class.getResource("1.wav");
            AudioInputStream audiostream =                                 `enter code here`AudioSystem.getAudioInputStream(soundurl);
            clip.open(audiostream);

        }
        catch(LineUnavailableException lue)
        {
            lue.printStackTrace();
        }
        catch(IOException ioe)
        {
            ioe.printStackTrace();
        }

        clip.start();

        do
        {
            try { Thread.sleep(50);}
            catch (InterruptedException ie){ ie.printStackTrace();}
        }while(clip.isActive());

          }

         }

我無法運行程序,有錯誤,請幫助我,我認為這里的錯誤是“ URL soundurl = Main.class.getResource(“ 1.wav”);“ 盡管我將i.wav文件添加到項目中

並非所有混音器都可用於音頻輸出(有些僅用於音頻輸入)。 在您的代碼中,您總是選擇Mixer.Info []數組中的第一個混音器,它可能不支持音頻輸出。 您可以通過致電檢查

mixer.isLineSupported(datainfo);

如果您實際上並不需要混音器(在播放需要同步的多個音頻文件時通常需要混音器),則可以使用以下方法播放簡單的.wav文件:

public void play(File file) throws LineUnavailableException{
  Clip clip=AudioSystem.getClip();
  clip.open(AudioSystem.getAudioInputStream(file));
  clip.loop(1);
}

更多信息: 訪問音頻系統資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM