Подходит ли класс Clip для «интенсивного использования»?

1

Я работаю над программой, которая воспроизводит серию Clip (clip.start()), в среднем один раз в секунду.

Значение запуска клипа, а через секунду он останавливается, запускается другой клип и т.д. Для примерно 10 клипов.

Результат не "жидкость", некоторые клипы даже не начинаются или не слышны.

Мой вопрос: подходит ли класс Clip для такого рода вещей? Или клипы, которые не должны быть остановлены и начались очень часто?

Если Clip не подходит, есть ли альтернативный класс или библиотека, которые вы можете предложить для этой цели? Или, может быть, некоторые рекомендации о том, как работать с клипами, так, что я описал, будет работать плавно? (Может быть, касается резьбы или чего-то еще).

Теги:
audio
clip

1 ответ

0

У меня нет слишком много опыта работы с аудио на Java, но опыт, который у меня был с клипами, низок. Я обнаружил, что по какой-то причине для перезапуска клипа требуется не более половины секунды (найдены некоторые старые ошибки, которые, по-видимому, были исправлены в связи с этой проблемой, но, возможно, это была новая ошибка в то время, когда я смотрел внутрь). SourceDataLine с буфером для хранения всего вашего звука работал лучше для меня.

Тем не менее, я бы предложил TinySound, это простая абстракция, которая работает.

Вот пример со своей страницы:

    //initialize TinySound
    TinySound.init();
    //load a sound and music
    //note: you can also load with Files, URLs and InputStreams
    Music song = TinySound.loadMusic("song.wav");
    Sound coin = TinySound.loadSound("coin.wav");
    //start playing the music on loop
    song.play(true);
    //play the sound a few times in a loop
    for (int i = 0; i < 20; i++) {
        coin.play();
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {}
    }
    //be sure to shutdown TinySound when done
    TinySound.shutdown();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню