Clip(Musica) funciona em java 6 porém não em java 7

0 respostas
P

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:

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;
			}
		}
	}
}

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.

Criado 2 de setembro de 2013
Respostas 0
Participantes 1