Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Clip extends DataLine
Clip
интерфейс представляет специальный вид строки данных, аудиоданные которой могут быть загружены до воспроизведения, вместо того, чтобы быть переданными потоком в режиме реального времени. Поскольку данные предварительно загружаются и имеют известную длину, можно установить клип, чтобы начать играть в любой позиции в ее аудиоданных. Можно также создать цикл, так, чтобы, когда клип играется, он неоднократно циклически повторялся. Циклы определяются с запуском и конечным демонстрационным фреймом, наряду с числом раз, что цикл должен играться.
Клипы могут быть получены из a
это поддерживает строки этого типа. Данные загружаются в клип, когда они открываются. Mixer
Воспроизведение аудиоклипа может быть запущено и прекратило использовать start
и stop
методы. Эти методы не сбрасывают позицию носителей; start
причины воспроизводят, чтобы продолжаться от позиции, где воспроизведение было последним, остановился. Чтобы перезапустить воспроизведение с начала аудиоданных клипа, просто следуйте за вызовом
с setFramePosition (0), который перематывает носители к началу клипа.stop
DataLine. Информация
Модификатор и Тип | Поле и Описание |
---|---|
static int |
LOOP_CONTINUOUSLY
Значение, указывающее, что цикличное выполнение должно продолжаться неопределенно, а не полный после определенного числа циклов.
|
Модификатор и Тип | Метод и Описание |
---|---|
int |
getFrameLength()
Получает длину носителей в демонстрационных фреймах.
|
long |
getMicrosecondLength()
Получает продолжительность носителей в микросекундах
|
void |
loop(int count)
Запускает воспроизведение цикличного выполнения с текущей позиции.
|
void |
open(AudioFormat format, byte[] data, int offset, int bufferSize)
Открывает клип, означая, что он должен получить любые необходимые системные ресурсы и стать операционным.
|
void |
open(AudioInputStream stream)
Открывает клип с форматом и аудиоданными, существующими в обеспеченном потоке аудиовхода.
|
void |
setFramePosition(int frames)
Устанавливает позицию носителей в демонстрационных фреймах.
|
void |
setLoopPoints(int start, int end)
Устанавливает первые и последние демонстрационные фреймы, которые будут играться в цикле.
|
void |
setMicrosecondPosition(long microseconds)
Устанавливает позицию носителей в микросекундах.
|
available, drain, flush, getBufferSize, getFormat, getFramePosition, getLevel, getLongFramePosition, getMicrosecondPosition, isActive, isRunning, start, stop
addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener
static final int LOOP_CONTINUOUSLY
loop(int)
, Постоянные Значения полейvoid open(AudioFormat format, byte[] data, int offset, int bufferSize) throws LineUnavailableException
OPEN
событие диспетчеризируется слушателям строки. Вызов этого метода на строке, которая уже открыта, недопустим и может привести к IllegalStateException.
Отметьте, что некоторые строки, когда-то закрытые, не могут быть вновь открыты. Попытки вновь открыть такую строку будут всегда приводить к a
.LineUnavailableException
format
- формат предоставленных аудиоданныхdata
- байтовый массив, содержащий аудиоданные, чтобы загрузиться в клипoffset
- точка, в которой можно начать копировать, выраженный в байтах с начала массиваbufferSize
- число байтов данных, чтобы загрузиться в клип от массива.LineUnavailableException
- если строка не может быть открыта из-за ограничений ресурсаIllegalArgumentException
- если размер буфера не представляет целое число демонстрационных фреймов, или если format
не полностью определяется или не недопустимIllegalStateException
- если строка уже открытаSecurityException
- если строка не может быть открыта из-за ограничений безопасностиLine.close()
, Line.isOpen()
, LineListener
void open(AudioInputStream stream) throws LineUnavailableException, IOException
OPEN
событие диспетчеризируется слушателям строки. Вызов этого метода на строке, которая уже открыта, недопустим и может привести к IllegalStateException.
Отметьте, что некоторые строки, когда-то закрытые, не могут быть вновь открыты. Попытки вновь открыть такую строку будут всегда приводить к a
.LineUnavailableException
stream
- поток аудиовхода, из которого аудиоданные будут считаны в клипLineUnavailableException
- если строка не может быть открыта из-за ограничений ресурсаIOException
- если исключение ввода-вывода происходит во время чтения потокаIllegalArgumentException
- если аудиоформат потока не полностью определяется или не недопустимIllegalStateException
- если строка уже открытаSecurityException
- если строка не может быть открыта из-за ограничений безопасностиLine.close()
, Line.isOpen()
, LineListener
int getFrameLength()
AudioSystem.NOT_SPECIFIED
если строка не открыта.AudioSystem.NOT_SPECIFIED
long getMicrosecondLength()
AudioSystem.NOT_SPECIFIED
если строка не открыта.AudioSystem.NOT_SPECIFIED
void setFramePosition(int frames)
Чтобы получить текущую позицию в демонстрационных фреймах, используйте
метод getFramePosition
DataLine
.
frames
- требуемая новая позиция носителей, выраженная в демонстрационных фреймахvoid setMicrosecondPosition(long microseconds)
Чтобы получить текущую позицию в микросекундах, используйте
метод getMicrosecondPosition
DataLine
.
microseconds
- требуемая новая позиция носителей, выраженная в микросекундахvoid setLoopPoints(int start, int end)
start
- стартовая позиция цикла, в демонстрационных (основанных на нуле) фреймахend
- конечная позиция цикла, в демонстрационных (основанных на нуле) фреймах, или-1, чтобы указать на заключительный фреймIllegalArgumentException
- если требуемые точки цикла не могут быть установлены, обычно потому что одно или оба падения вне продолжительности носителей или потому что конечная точка перед начальной точкойvoid loop(int count)
count
времена, и наконец продолжают воспроизведение до конца клипа. Если текущая позиция, когда этот метод вызывается, больше чем конечная точка цикла, воспроизведение просто продолжается до конца клипа без цикличного выполнения.
A count
значение 0 указывает, что любое текущее цикличное выполнение должно прекратиться, и воспроизведение должно продолжаться до конца клипа. Поведение неопределено, когда этот метод вызывается с любым другим значением во время работы цикла.
Если воспроизведение останавливается во время цикличного выполнения, текущее состояние цикла очищается; поведение последующего цикла и запускается, запросы не влияется прерванной работой цикла.
count
- воспроизведение числа раз должно циклично выполниться назад от позиции конца цикла до позиции запуска цикла, или LOOP_CONTINUOUSLY
указать, что цикличное выполнение должно продолжаться пока не прервано
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92