Preciso tocar um Sound assim que o anterior terminar

3 respostas
S

pessoal, estou com o seguinte problema, prociso tocar um Sound assim que o anterior terminar. estou utilizando o seguinte codigo ::

private URL url;
private HSound myHSound = new HSound();

public void playMusic(String fileName) {

try {
        url = new URL("file://" + new File(fileName).getAbsolutePath());
        myHSound.load(url);
        System.out.println(url);
    } catch (IOException ioe) {
        System.out.println("Error: myHSound Could not load sound. Input/output error:" + ioe.getMessage());
    }
    myHSound.play();
}
ai quando eu executo da seguinte forma::

playMusic(arquivo.wav);

playMusic(arquivo2.wav);

os Sound rodam ao mesmo tempo, assim eles ficam sobrepostos.

gostaria de saber como eu faço pra rodar o segundo arquivo assim q o primeiro terminar.

valeu!!!

3 Respostas

Marky.Vasconcelos

Que Framework você está utilizando? Se for o Java Layer ele notifica no statusUpgrade com o valor de EOM (End Of Media) dai você toca o outro.

S

entao, estou programando pra TV Digital, assim utilizo HSound

import org.havi.ui.HSound;

segue o cogido todo:::

import java.io.File;

import java.io.IOException;

import java.net.URL;

import org.havi.ui.HSound;

public class Music extends TimerTask {
private boolean mts_s_ = false;
private String stl;
private URL url;
private HSound myHSound = new HSound();

public void playMusic(String fileName) {

try {
        url = new URL("file://" + new File(fileName).getAbsolutePath());
        myHSound.load(url);
        System.out.println(url);
    } catch (IOException ioe) {
        System.out.println("Error: myHSound Could not load sound. Input/output error:" + ioe.getMessage());
    }
    myHSound.play();
}

}

VALEU!!!

Marky.Vasconcelos

Eu reamente não conheço, mas se você procurar deve ter algo sobre estados nesse HSound também.

Criado 7 de fevereiro de 2008
Ultima resposta 7 de fev. de 2008
Respostas 3
Participantes 2