首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JRE6编译的软件与JR7不能正常工作

JRE6编译的软件与JR7不能正常工作
EN

Stack Overflow用户
提问于 2013-09-02 01:37:01
回答 2查看 296关注 0票数 0

即使java是向后兼容的,我在使用JRE7运行我的Java 6应用程序时也有问题。

第一个问题:

javax.sound.sampled.Clip只是在我使用JRE7运行时不起作用,但是当我使用JRE6运行时工作得很好。

代码语言:javascript
复制
        AudioInputStream inputStream = null;
        //Try statement
        inputStream = AudioSystem.getAudioInputStream(new ByteArrayInputStream(buffer));
        clip = AudioSystem.getClip();
        clip.open(inputStream);

        if (delay > 0) {
            Thread.sleep(delay);
        }
        clip.start();
        //catch statement

在JR7上,在clip.start()之后;clip.isRunning()返回false;在JRE6上运行时不会发生这种情况

第二个问题:

我使用java.util.zip.Inflater压缩图像像素,但是使用JRE7,当读取像素时,红色通道出现错误,原因是我找不出原因。

可能是因为充气器使用压缩库(jre\bin\zip.dll),这在jre6和jre7之间是不同的。

选中使用: System.getProperty("java.version"):

Java版本: 1.6.0_24

  • 声音工作得很好
  • 图像加载非常好

Java版本: 1.7.0_21

  • 声音不起作用(实际上它随机播放)
  • 图像加载非常好

Java运行时版本: 1.7.0-ea

  • 声音工作得很好
  • 图像加载不正确的红色通道。

简单测试:

在这两个java版本中使用此代码:http://pastebin.com/WMCfh4Vp

结果:

  • JRE-6: Works
  • JRE-7:不播放,说剪辑没有运行,也没有活动。

有办法扭转这个问题吗?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-09-02 03:31:42

我怀疑问题在于您处理字节的方式(例如编码、传输等).不在压缩库或音频或图像库中。

(UPDATE -您的pastebin链接不包括FileOperations类。如果您处理字节的方式有问题,它很可能在那里!)

如果字节被正确处理,那么另一种可能是播放失败的系统(或JRE)没有必要的音频编解码器。

无论哪种方式,如果您想要一个详细的答案,您都需要提供更多的代码(最好是一对SSCCE)。

票数 0
EN

Stack Overflow用户

发布于 2013-09-14 23:03:11

问题是,我正在检查它是否在put播放之后运行,在Java 7上,您必须先让线程休眠,然后再检查它是否正在运行,以便让它在反复的睡眠中运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18564611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档