本帖最后由 pre_edator 于 2012-03-30 18:01:59 编辑

解决方案 »

  1.   

    例子用java播放wav格式文件
    2008-03-27 17:16
    File file = new File("F:/a.wav");
       try {
        System.out.println("Start ...");
    //    AudioInputStream ais = AudioSystem.getAudioInputStream(file);
    //把你的 input嵌入到ais里面,基本就差不多了吧。
    AudioInputStream ais = new AudioInputStream((TargetDataLine) this.getClass().getClassLoader().getResourceAsStream("gmor.wav"));
    //没调试
        AudioFormat af = ais.getFormat();
        SourceDataLine sdl = null;
        DataLine.Info dinfo = new DataLine.Info(SourceDataLine.class, af);
        sdl = (SourceDataLine) AudioSystem.getLine(dinfo);
        sdl.open(af);
        byte[] lbytes = new byte[sdl.available()];
        int lReadBytes = 0;
        sdl.start();
        while (lReadBytes != -1) {
         lReadBytes = ais.read(lbytes, 0, lbytes.length);
         if (lReadBytes > 0) {
          sdl.write(lbytes, 0, lReadBytes);
         } // if
        } // while()
        System.out.println("Over!");
        System.exit(1);
       } // try
       catch (Exception ex) {
        ex.printStackTrace();
       } // catch
      

  2.   

    //把你的 input嵌入到ais里面,基本就差不多了吧。 不行啊。 你作个试验。。
    读取jar 中的文本文件, 没有问题, 可是读取 jar压缩包中的wav 文件就不行了。