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!!!
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.
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!!!
Eu reamente não conheço, mas se você procurar deve ter algo sobre estados nesse HSound também.