Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Line extends AutoCloseable
Line
интерфейс представляет моно или многоканальный аудио канал. Строка является элементом цифрового аудио "конвейер", такой как микшер, входной или выходной порт, или информационный канал к или из микшера. У строки могут быть средства управления, такие как усиление, панорамирование, и реверберация. Сами средства управления являются экземплярами классов, которые расширяют основу
класс. Control
Line
интерфейс обеспечивает два метода средства доступа для того, чтобы они получили средства управления строки:
возвращает весь набор, и getControls
возвращает единственное управление указанного типа. getControl
Строки существуют в различных состояниях в разное время. Когда строка открывается, она резервирует системные ресурсы для себя, и когда она закрывается, эти ресурсы освобождаются для других объектов или приложений.
метод позволяет Вам обнаруживать, открыта ли строка или закрыта. Открытая строка не должна обрабатывать данные, как бы то ни было. Такая обработка обычно инициируется подынтерфейсными методами такой как isOpen()
и SourceDataLine.write
. TargetDataLine.read
Можно зарегистрировать объект получить уведомления всякий раз, когда изменения состояния строки. Объект должен реализовать
интерфейс, который состоит из единственного метода LineListener
. Этот метод будет вызван, когда строка откроется и завершения (и, если это - a update
DataLine
, когда это запускается и остановки).
Объект может быть зарегистрирован, чтобы слушать многократные строки. Событие это получает в update
метод определит, какая строка, создаваемая событие, каким событием это было (OPEN
, CLOSE
, START
, или STOP
), и то, сколько выборка структурирует строку, обработало в то время, когда событие имело место.
Определенные операции строки, такой как открытый и близкий, могут генерировать исключения безопасности если вызвано непривилегированным кодом, когда строка является совместно используемым аудио ресурсом.
LineEvent
Модификатор и Тип | Интерфейс и Описание |
---|---|
static class |
Строка. Информация
A
Line.Info объект содержит информацию о строке. |
Модификатор и Тип | Метод и Описание |
---|---|
void |
addLineListener(LineListener listener)
Добавляет слушатель этой строки.
|
void |
close()
Закрывает строку, указывая, что любые системные ресурсы в использовании строкой могут быть выпущены.
|
Управление |
getControl(Control.Type control)
Получает управление указанного типа, если есть кто-либо.
|
Управление[] |
getControls()
Получает набор средств управления, связанных с этой строкой.
|
Строка. Информация |
getLineInfo()
Получает
Line.Info объект, описывающий эту строку. |
boolean |
isControlSupported(Control.Type control)
Указывает, поддерживает ли строка управление указанного типа.
|
boolean |
isOpen()
Указывает, открыта ли строка, означая, что она зарезервировала системные ресурсы и является операционной, хотя она не могла бы в настоящий момент играть или получать звук.
|
void |
open()
Открывает строку, указывая, что она должна получить любые необходимые системные ресурсы и стать операционной.
|
void |
removeLineListener(LineListener listener)
Удаляет указанного слушателя из списка этой строки слушателей.
|
Line.Info getLineInfo()
Line.Info
объект, описывающий эту строку.void open() throws LineUnavailableException
OPEN
событие диспетчеризируется слушателям строки. Отметьте, что некоторые строки, когда-то закрытые, не могут быть вновь открыты. Попытки вновь открыть такую строку будут всегда приводить к LineUnavailableException
.
У некоторых типов строк есть конфигурируемые свойства, которые могут влиять на распределение ресурсов. Например, a DataLine
должен быть открыт с определенным форматом и размером буфера. Такие строки должны обеспечить механизм для того, чтобы он сконфигурировал эти свойства, такой как дополнительное open
метод или методы, которые позволяют приложению определять требуемые настройки.
Этот метод не берет параметров, и открывает строку с текущими настройками. Для
и SourceDataLine
объекты, это означает, что строка открывается с настройками по умолчанию. Для a TargetDataLine
, однако, размер буфера определяется, когда данные загружаются. Так как этот метод не позволяет приложению определять любые данные, чтобы загрузиться, IllegalArgumentException бросается. Поэтому, следует вместо этого использовать один из Clip
open
методы, обеспеченные в Clip
взаимодействуйте через интерфейс, чтобы загрузить данные в Clip
.
Для DataLine
's, если DataLine.Info
объект, который использовался, чтобы получить строку, определяет по крайней мере один полностью определенный аудиоформат, последний будет использоваться в качестве формата по умолчанию.
IllegalArgumentException
- если этот метод вызывают на экземпляре Клипа.LineUnavailableException
- если строка не может быть открыта из-за ограничений ресурса.SecurityException
- если строка не может быть открыта из-за ограничений безопасности.close()
, isOpen()
, LineEvent
, DataLine
, Clip.open(AudioFormat, byte[], int, int)
, Clip.open(AudioInputStream)
void close()
CLOSE
событие диспетчеризируется слушателям строки.close
в интерфейсе AutoCloseable
SecurityException
- если строка не может быть закрыта из-за ограничений безопасности.open()
, isOpen()
, LineEvent
boolean isOpen()
Control[] getControls()
getControl(javax.sound.sampled.Control.Type)
boolean isControlSupported(Control.Type control)
control
- тип управления, для которого запрашивается поддержкаtrue
если по крайней мере одно управление указанного типа поддерживается, иначе false
.Control getControl(Control.Type control)
control
- тип требуемого управленияIllegalArgumentException
- если управление указанного типа не поддерживаетсяgetControls()
, isControlSupported(Control.Type control)
void addLineListener(LineListener listener)
update()
метод вызывают с a LineEvent
объект, который описывает изменение.listener
- объект добавить как слушатель этой строкиremoveLineListener(javax.sound.sampled.LineListener)
, LineListener.update(javax.sound.sampled.LineEvent)
, LineEvent
void removeLineListener(LineListener listener)
listener
- слушатель, чтобы удалитьaddLineListener(javax.sound.sampled.LineListener)
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.