java - 音频在Eclipse中有效,但在.jar中不起作用

标签 java eclipse audio jar

从eclipse中运行时,以下代码的确运行良好。但是,当我将其导出到.jar文件并尝试从jar运行时,音频将播放半秒,并且大约3秒钟长。声音文件不在jar中。我使用System.getProperties(“user.home”)+ PathToAudioFile;获取路径。这是我当前的代码段:

public void postFloorLoc(String FloorLoc)
{   String audiopath = System.getProperty("user.home") + "/BortechData/audio/";

    txtFloorLocation.setText(FloorLoc);
    //choosing which file to play
    if(FloorLoc.contentEquals("1-FIFO"))
        audiopath = audiopath + "1-fifo.wav";
    if(FloorLoc.contentEquals("10-FIFO"))
        audiopath = audiopath + "10-fifo.wav";
    aufile = new File(audiopath);
    if(FloorLoc.contentEquals("1-FIFO") || FloorLoc.contentEquals("10-FIFO"))
    {   Thread t = new Thread(new Runnable(){

        @Override
        public void run() {
            try {
                Line.Info linfo = new Line.Info(Clip.class);
                Line line = AudioSystem.getLine(linfo);
                Clip auClip = (Clip)line;
                AudioInputStream ais = AudioSystem.getAudioInputStream(aufile);
                auClip.open(ais);
                auClip.setFramePosition(0);
                auClip.start();
            }
            catch(UnsupportedAudioFileException uae)
            { JOptionPane.showMessageDialog(null, uae); }
            catch(IOException ioe)
            { System.out.println(ioe); }
            catch(LineUnavailableException lua)
            { System.out.println(lua); }

            }

        }); 
        t.start();

    }
}

所有其他寻求帮助的请求都具有相同的含义。同样,这在eclipse内效果很好,但是作为一个jar,我只能在大约3秒的时间内获得半秒的音频。因此,它会找到文件并开始播放,但不会播放所有文件。我想念什么???

最佳答案

我的猜测是它正在Eclipse中缓冲整​​个剪辑,而不是从命令行中缓冲。尝试增加内存分配池的大小(对于GB,为-Xmx1024m),看看它是否发挥更大的作用?

关于java - 音频在Eclipse中有效,但在.jar中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19075677/

相关文章:

c# - 如何减少WAV文件的下载和上传时间?

Java 正则表达式替换问题

java - 每次启动一个新变量还是从 java 中的另一个类调用一个变量更好?

java - 如何在没有 Maven 的情况下设置独立的 Junit 和 Mockito

c# - 使用 JQuery 构建 Windows 软件

android - 如何在android中合并音频和视频文件

java - 如何让我的 Java 代码在连接后显示结果?

java - 句子中的反转字符

eclipse - 设置 maven+jetty+eclipse 的调试配置

validation - Laravel音频MIME验证程序