如何使用源包中的文件(路径是什么?)

时间:2014-05-02 18:59:25

标签: java audio-streaming filepath

好吧,标题可能不完全正确,但这就是我的意思:我有一个类看起来像这样的类:

package chess;

import java.io.*;
import sun.audio.*;

public class SoundPlayer

{
  public static void Play(String AudioFile) 

  throws Exception

  {
    // open the sound file as a Java input stream
    InputStream in = new FileInputStream(AudioFile);

    // create an audiostream from the inputstream
    AudioStream audioStream = new AudioStream(in);

    // play the audio clip with the audioplayer class
    AudioPlayer.player.start(audioStream);
  }
}

我想要做的是在.jar中编译所有.java文件中的.wav文件,并能够使用此方法进行播放。要在批处理上执行此操作,我所要做的就是输入文件名,并使用当前目录。我在这里试过,但它没有用。所以,我的最后一个问题是:

在" /sound.wav"之前我需要输入什么?让我的程序从源目录中获取它?对不起,如果我没有说清楚。我一直在搜索,但我想我不知道究竟要在谷歌上搜索什么,因为我没有找到任何解释。

2 个答案:

答案 0 :(得分:3)

您可以使用ClassLoader.getResourceAsStream()来实现

示例:

 // open the sound file as a Java input stream
InputStream in = SoundPlayer.class.getClassLoader().getResourceAsStream("yoursound.wav");

// create an audiostream from the inputstream
AudioStream audioStream = new AudioStream(in);

// play the audio clip with the audioplayer class
AudioPlayer.player.start(audioStream);

答案 1 :(得分:-1)

如果你把你的wav文件放在jar的根目录中,你应该可以通过它的名字来引用它们。即

jar
 |-com
    |-your
       |-package
 |-sound.wav

您可以sound.wav访问com.your.package.yourclass,仅通过其名称

引用它