Spec-Zone.ru › OpenJDK 25

Класс SoundClip

java.lang.Object
javax.sound.SoundClip
public final class SoundClip extends Object
Класс SoundClip представляет собой простую абстракцию для воспроизведения звукового фрагмента. Он воспроизводит файлы любого формата, распознаваемого API javax.sound и поддерживаемого им. Сюда входят данные MIDI.

Этот класс предназначен для простого воспроизведения коротких звуковых фрагментов или отрывков. Например, его можно использовать для воспроизведения звукового оповещения или эффекта в приложении с пользовательским интерфейсом, короткого объявления или звукового отклика — например, для объявления о назначении кнопки или элемента управления. Обычно приложение воспроизводит такие фрагменты один раз до конца.

Приложениям, которым требуется более точное управление или расширенные возможности, следует изучить другие части API javax.sound. Для воспроизведения звука среда должна предоставить доступ к аудиоустройствам. Обычно для этого требуется запуск приложения в настольной среде.

Одновременно могут воспроизводиться несколько элементов SoundClip, а результирующий звук смешивается в единый сигнал.

Начиная с версии:
25

Краткое описание методов

Модификатор и тип Метод Описание
boolean canPlay()
Возвращает значение, указывающее, можно ли воспроизвести этот звуковой фрагмент.
static SoundClip createSoundClip(File file)
Создает экземпляр SoundClip, который будет воспроизводить фрагмент из указанного файла.
boolean isPlaying()
Возвращает значение, указывающее, воспроизводится ли сейчас звук.
void loop()
Начинает циклическое воспроизведение этого звукового фрагмента.
void play()
Начинает воспроизведение этого звукового фрагмента.
void stop()
Останавливает воспроизведение этого звукового фрагмента.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание методов

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().

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, где приведены более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API