Olá!
Apesar de novas versões do java Runtime serem compatíveis com as versões anteriores, segundo a Oracle(backwards compatible),
estou com problema para rodar no JRE-7 um programa compilado com o Java 6.
Um simples exemplo do meu problema é este:
[code]import java.io.IOException;
import java.net.URL;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class Main {
public static void main(String[] args) {
AudioInputStream inputStream = null;
Clip clip = null;
try {
inputStream = AudioSystem.getAudioInputStream(new URL("http://www.imageandart.com/sonidos/alarma.wav"));
clip = AudioSystem.getClip();
clip.open(inputStream);
clip.start();
System.out.println("Audio is playing: " + clip.isRunning() + " active: " + clip.isActive() + " open: " + clip.isOpen());
while (clip.isRunning()) {
Thread.sleep(500);
}
clip.flush();
clip.stop();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (clip != null) {
clip.close();
}
if (inputStream != null) {
inputStream.close();
}
} catch (IOException e) {
} finally {
inputStream = null;
clip = null;
}
}
}
}[/code]
Utilizando este mesmo código, o som funciona normalmente utilizando JRE 6, porém não funciona utilizando JRE 7.
Este não é meu único problema com o java 7, também acontece de o Inflater carregar os pixels de imagens comprimidas pelo Deflater incorretamente, porém é o mais importante no momento, alguém sabe porque isso acontece?
Obrigado.