Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface DataLine extends Line
DataLine
добавляет связанная с носителями функциональность к ее суперинтерфейсу, Line
. Эта функциональность включает методы транспортного контрля, которые запускают, останавливают, истощают, и сбрасывают аудиоданные, которые проходят через строку. Строка данных может также сообщить о текущей позиции, объеме, и аудиоформате носителей. Строки данных используются для вывода аудио посредством подынтерфейсов SourceDataLine
или Clip
, которые позволяют прикладной программе писать данные. Точно так же звуковой вход обрабатывается подынтерфейсом TargetDataLine
, который позволяет данным быть считанными. У строки данных есть внутренний буфер, в котором ставятся в очередь поступление или исходящие аудиоданные.
блоки метода, пока этот внутренний буфер не становится пустым, обычно потому что все данные с очередями были обработаны. drain()
метод отбрасывает любые доступные данные с очередями от внутреннего буфера. flush()
Строка данных производит
и START
события всякий раз, когда это начинает или прекращает активное представление или получение данных. Эти события могут быть сгенерированы в ответ на определенные запросы, или в результате менее прямых изменений состояния. Например, если STOP
вызывается на неактивной строке данных, и данные доступны для получения или воспроизведения, a start()
START
событие будет сгенерировано коротко, когда воспроизведение данных или получение фактически начнутся. Или, если поток данных к активной строке данных сжимается так, чтобы разрыв произошел в представлении данных, a STOP
событие сгенерировано.
Микшеры часто поддерживают синхронизируемое управление многократных строк данных. Синхронизация может быть установлена через интерфейс Микшера
метод. См. описание synchronize
интерфейс для большего количества полного описания.Mixer
LineEvent
Модификатор и Тип | Интерфейс и Описание |
---|---|
static class |
DataLine. Информация
Помимо информации о классе, наследованной от ее суперкласса,
DataLine.Info обеспечивает дополнительную информацию, определенную для строк данных. |
Модификатор и Тип | Метод и Описание |
---|---|
int |
available()
Получает число байтов данных, в настоящий момент доступных приложению для того, чтобы обработать во внутреннем буфере строки данных.
|
void |
drain()
Поставленные в очередь данные утечек от строки, продолжая ввод-вывод данных, пока внутренний буфер строки данных не был освобожден.
|
void |
flush()
Сбросы поставленные в очередь данные от строки.
|
int |
getBufferSize()
Получает максимальное количество байтов данных, которые поместятся во внутренний буфер строки данных.
|
AudioFormat |
getFormat()
Получает текущий формат (кодирование, демонстрационный уровень, число каналов, и т.д.) аудиоданных строки данных.
|
int |
getFramePosition()
Получает текущую позицию в аудиоданных, в демонстрационных фреймах.
|
float |
getLevel()
Получает текущую громкость звука для строки.
|
long |
getLongFramePosition()
Получает текущую позицию в аудиоданных, в демонстрационных фреймах.
|
long |
getMicrosecondPosition()
Получает текущую позицию в аудиоданных, в микросекундах.
|
boolean |
isActive()
Указывает, участвует ли строка в активном вводе-выводе (таком как воспроизведение или получение).
|
boolean |
isRunning()
Указывает, работает ли строка.
|
void |
start()
Позволяет строке участвовать во вводе-выводе данных.
|
void |
stop()
Останавливает строку.
|
addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener
void drain()
drain()
вызывается на остановленную строку, у которой есть данные в его очереди, метод блокирует, пока строка не работает, и очередь данных становится пустой. Если drain()
вызывается одним потоком, и другой продолжает заполнять очередь данных, работа не будет завершаться. Этот метод всегда возвращается, когда строка данных закрывается.flush()
void flush()
void start()
START
событие сгенерировано.stop()
, isRunning()
, LineEvent
void stop()
flush
метод. Когда аудио получение или остановки воспроизведения, a STOP
событие сгенерировано.start()
, isRunning()
, flush()
, LineEvent
boolean isRunning()
false
. Открытая строка начинает работать, когда первые данные представляются в ответ на вызов start
метод, и продолжается, пока представление не прекращается в ответ на звонок stop
или потому что воспроизведение завершается.boolean isActive()
START
событие его слушателям. Точно так же, когда активная строка становится неактивной, она отправляет a STOP
событие.true
если строка активно получает или представляет звук, иначе false
Line.isOpen()
, Line.addLineListener(javax.sound.sampled.LineListener)
, Line.removeLineListener(javax.sound.sampled.LineListener)
, LineEvent
, LineListener
AudioFormat getFormat()
Если строка не открыта и никогда не открывалась, она возвращает формат по умолчанию. Формат по умолчанию является реализацией определенный аудиоформат, или, если DataLine.Info
объект, который использовался, чтобы получить это DataLine
, определяет по крайней мере один полностью определенный аудиоформат, последний будет использоваться в качестве формата по умолчанию. Открытие строки с определенным аудиоформатом (например. SourceDataLine.open(AudioFormat)
) переопределит формат по умолчанию.
AudioFormat
int getBufferSize()
int available()
Отметьте, что используемые модули являются байтами, но будут всегда соответствовать целому числу демонстрационных фреймов аудиоданных.
Приложению гарантируют это операцию чтения или операцию записи до числа байтов, возвращенных из available()
не будет блокировать; однако, нет никакой гарантии, которая пытается считать или записать, что больше данных блокирует.
int getFramePosition()
getLongFramePosition
вместо этого.getLongFramePosition()
long getLongFramePosition()
long getMicrosecondPosition()
float getLevel()
AudioSystem.NOT_SPECIFIED
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.