Воспроизведение звука Java через Clip и AudioInputStream не работает - PullRequest
0 голосов
/ 17 сентября 2011

Это слегка измененный пример со страницы информации о звуке Java.https://stackoverflow.com/tags/javasound/info К сожалению, он воспроизводит звук только один раз, но намерение - дважды.

import java.io.File;
import javax.sound.sampled.*;

public class TestNoise {
    public static void main(String[] args) throws Exception {
        File f = new File("/home/brian/drip.wav");
        AudioInputStream ais = AudioSystem.getAudioInputStream(f);

        AudioFormat af = ais.getFormat();
        DataLine.Info info = new DataLine.Info(Clip.class, af);
        Clip clip = (Clip)AudioSystem.getLine(info);

        clip.open(ais);
        clip.start();    // heard this
        Java.killTime(); 
        clip.start();    // NOT HEARD
        Java.killTime();
    }
}

Редактировать: Чтобы понять ответ, посмотрите ссылку, предоставленную Wanderlust, или просто сделайте то, что онговорит в комментарии ниже его ответ.

1 Ответ

0 голосов
/ 17 сентября 2011

Для воспроизведения клипа во второй раз вы должны позвонить

clip.start();
clip.stop();

вызвать после второго вызова clip.start (); он пытается воспроизвести файл с того места, где он остановился ранее .

...