Класс LineEvent
- java.lang.Object
-
- java.util.EventObject
-
- javax.sound.sampled.LineEvent
- Все реализуемые интерфейсы:
Serializable
public class LineEvent extends EventObject
Класс LineEvent инкапсулирует информацию, которую линия отправляет своим слушателям всякий раз, когда линия открывается, закрывается, запускается или останавливается. Каждый из этих четырех изменений состояния представлен соответствующим типом события. Слушатель получает событие в качестве параметра для своего метода update. Запросив событие, слушатель может узнать тип события, линию, ответственного за событие, и сколько данных обработала линия, когда произошло событие.
Несмотря на то, что этот класс реализует Serializable, попытки сериализовать объект LineEvent завершатся ошибкой.
- С тех пор:
- 1.3
- См. также:
-
Line,LineListener.update(javax.sound.sampled.LineEvent)
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
LineEvent.Type |
Внутренний класс LineEvent.Type идентифицирует тип события, произошедшего на линии. |
Поля
Поля, объявленные в классе java.util.EventObject
source
Конструкторы
| Конструктор | Описание |
|---|---|
LineEvent(Line line,
LineEvent.Type type,
long position) |
Создаёт новое событие указанного типа, исходящее от указанной линии. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
long |
getFramePosition() |
Получает позицию в аудиоданных линии, когда произошло событие, выраженную в кадрах сэмплов. |
Line |
getLine() |
Получает аудиолинию, являющуюся источником этого события. |
LineEvent.Type |
getType() |
Получает тип события. |
String |
toString() |
Получает строковое представление события. |
Методы, объявленные в классе java.util.EventObject
getSource
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Конструкторы
LineEvent
public LineEvent(Line line,
LineEvent.Type type,
long position)
Создаёт новое событие указанного типа, исходящее от указанной линии.
- Параметры:
-
line- источник этого события -
type- тип события (OPEN,CLOSE,START, илиSTOP) -
position- количество кадров сэмплов, уже обработанных линией, когда произошло событие, илиAudioSystem.NOT_SPECIFIED - Исключения:
-
IllegalArgumentException- еслиlineявляетсяnull
Методы
getLine
public final Line getLine()
Получает аудиолинию, являющуюся источником этого события.
- Возвращает:
- линию, ответственный за это событие
getType
public final LineEvent.Type getType()
Получает тип события.
- Возвращает:
- тип этого события (
LineEvent.Type.OPEN,LineEvent.Type.CLOSE,LineEvent.Type.STARTилиLineEvent.Type.STOP)
getFramePosition
public final long getFramePosition()
Получает позицию в аудиоданных линии, когда произошло событие, выраженную в кадрах сэмплов. Например, если линия-источник уже воспроизвела 14 кадров сэмплов в момент паузы, событие паузы сообщит позицию линии как 14. Следующий кадр для обработки будет иметь номер 14, используя нумерацию с нуля, или 15, используя нумерацию с единицы.
Обратите внимание, что это поле актуально только для определённых событий, генерируемых линиями данных, таких как START и STOP. Для событий, сгенерированных линиями, которые не считают кадры сэмплов, и для любых других событий, для которых это значение неизвестно, значение позиции должно быть AudioSystem.NOT_SPECIFIED.
- Возвращает:
- позицию линии как номер кадра сэмпла
toString
public String toString()
Получает строковое представление события. Содержимое строки может варьироваться в зависимости от реализации Java Sound.
- Переопределяет:
-
toStringв классеEventObject - Возвращает:
- строку, описывающую событие
© 1993, 2020, 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/11/docs/api/java.desktop/javax/sound/sampled/LineEvent.html