Класс SoundClip
public final class SoundClip extends Object
SoundClip представляет собой простую абстракцию для воспроизведения звукового фрагмента. Он воспроизводит файлы любого формата, распознаваемого API javax.sound и поддерживаемого им. Сюда входят данные MIDI. Этот класс предназначен для простого воспроизведения коротких звуковых фрагментов или отрывков. Например, его можно использовать для воспроизведения звукового оповещения или эффекта в приложении с пользовательским интерфейсом, короткого объявления или звукового отклика — например, для объявления о назначении кнопки или элемента управления. Обычно приложение воспроизводит такие фрагменты один раз до конца.
Приложениям, которым требуется более точное управление или расширенные возможности, следует изучить другие части API javax.sound. Для воспроизведения звука среда должна предоставить доступ к аудиоустройствам. Обычно для этого требуется запуск приложения в настольной среде.
Одновременно могут воспроизводиться несколько элементов SoundClip, а результирующий звук смешивается в единый сигнал.
- Начиная с версии:
- 25
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
canPlay() |
Возвращает значение, указывающее, можно ли воспроизвести этот звуковой фрагмент. |
static SoundClip |
createSoundClip |
Создает экземпляр SoundClip, который будет воспроизводить фрагмент из указанного файла. |
boolean |
isPlaying() |
Возвращает значение, указывающее, воспроизводится ли сейчас звук. |
void |
loop() |
Начинает циклическое воспроизведение этого звукового фрагмента. |
void |
play() |
Начинает воспроизведение этого звукового фрагмента. |
void |
stop() |
Останавливает воспроизведение этого звукового фрагмента. |
Подробное описание методов
createSoundClip
public static SoundClip createSoundClip(File file) throws IOException
SoundClip, который будет воспроизводить фрагмент из указанного файла. Содержимое файла будет полностью прочитано до возврата этого метода. Если файл не содержит распознаваемых и поддерживаемых звуковых данных или реализация не найдет подходящее устройство вывода для этих данных, воспроизведение фрагмента не даст результата.
- Параметры:
-
file— файл, из которого следует получить звуковые данные - Возвращает:
- экземпляр
SoundClip - Выбрасывает:
-
NullPointerException— еслиfileимеет значениеnull -
IOException— если при чтении изfileпроизошла ошибка
canPlay
public boolean canPlay()
Значение false означает, что вызов любого другого метода этого класса не даст результата.
- Возвращает:
- значение, указывающее, можно ли воспроизвести этот звуковой фрагмент
isPlaying
public boolean isPlaying()
- Возвращает:
- значение, указывающее, воспроизводится ли сейчас звук
play
public void play()
Примечания о потоках: большинству приложений достаточно вызвать play(). Поэтому большинству приложений не нужно учитывать следующее. Воспроизведение управляется в фоновом потоке, который обычно является потоком-демоном. Работающие потоки-демоны не препятствуют завершению работы виртуальной машины. Поэтому для предотвращения завершения работы виртуальной машины должен оставаться активным хотя бы один поток. Приложение с пользовательским интерфейсом, в котором открыто хотя бы одно окно, автоматически удовлетворяет этому требованию. И наоборот, если приложение должно гарантировать завершение работы виртуальной машины до окончания выполнения play(), ему следует вызвать метод stop().
loop
public void loop()
Примечания о потоках: большинству приложений достаточно вызвать loop(). Поэтому большинству приложений не нужно учитывать следующее. Воспроизведение управляется в фоновом потоке, который обычно является потоком-демоном. Работающие потоки-демоны не препятствуют завершению работы виртуальной машины. Поэтому для предотвращения завершения работы виртуальной машины должен оставаться активным хотя бы один поток. Приложение с пользовательским интерфейсом, в котором открыто хотя бы одно окно, автоматически удовлетворяет этому требованию. И наоборот, если приложение должно гарантировать завершение работы виртуальной машины до окончания выполнения play(), ему следует вызвать метод stop().
stop
public void stop()
loop().
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/sound/SoundClip.html