在java中每隔x秒播放声音的简单方法

时间:2014-05-25 09:33:00

标签: java audio

我有大约20种不同的声音,我希望它每1秒播放一次。 每个声音的持续时间约为0.7秒。我甚至不知道如何将mp3导入java。我怎么能在java中做到这一点?

更新

 try
 {
      in = new FileInputStream(new File("C:\\Users\\Toshiba\\Downloads\\Music\\adios.wav"));

      AudioStream as = new AudioStream(in);
      AudioPlayer.player.start(as);

      Thread.sleep(1*1000);

  } catch (Exception e)
  {
      JOptionPane.showMessageDialog(null, e);
  }

我遇到了新问题。一旦开始我就无法阻止它

2 个答案:

答案 0 :(得分:0)

你需要使用javax.sound.sampled库,其中也可以找到文档here,因为你想播放声音every x秒,你应该使用

Thread.sleep(x*1000);

播放声音后

。 (x是您希望计算机等待的秒数。)

如果您提供更多代码,我会更具体。

答案 1 :(得分:0)

使用JavaFXIt comes with netbeans

TimerTask task = new TimerTask() {
        @Override
        public void run() {
            //MediaPlayer player;
            //Media audioFile = new Media(new File("PATH_TO_SOUND"));
            //player = new MediaPlayer(audioFile);
            //player.play();

            FileInputStream in = new FileInputStream(new File("C:\\Users\\Toshiba\\Downloads\\Music\\adios.wav"));
            AudioStream as = new AudioStream(in);
            AudioPlayer.player.start(as);
        }
    };
Timer timer;
timer.scheduleAtFixedRate(task, 0, 1000); //start immediately, 1000ms period

进口:

import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;