|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface Line
Line
介面表示單聲道或多聲道音頻供給。line 是數字音頻“管線”(如混頻器、輸入或輸出埠號,或往返於混頻器的資料路徑)的元素。
line 可以有各種控制元件,如 gain、pan 和 reverb。這些控制元件本身是擴展基本
類別的那些類別的實例。Control
Line
介面提供兩個獲得 line 控制元件的存取方法:
返回整個集合,getControls
返回指定型別的單個控制元件。
getControl
行在不同的時間以各種狀態存在。當行打開時,它保留本身的系統資源;關閉時,這些資源就會為其他物件或應用程序釋放。
方法讓您發現行是打開的還是關閉的。但是打開的行不需要處理資料。此類別處理通常由 isOpen()
和 SourceDataLine.write
之類別的子介面方法初始化。
TargetDataLine.read
可以註冊一個物件,以便每當行狀態更改時接收通知。該物件必須實作
介面,此介面由單個方法 LineListener
組成。此方法將在行打開和關閉時調用(如果該行在開始和停止時是一個 update
DataLine
)。
可以註冊一個物件來偵聽多個行。用其 update
方法接收的事件將指定創建該事件的行、事件的型別(OPEN
、CLOSE
、START
或 STOP
),以及發生事件時該行處理的樣本幀的數量。
如果行是共享的音頻資源時由未授權的程式碼調用,則某些行操作(如 open 和 close)可以產生安全性異常。
LineEvent
巢狀類別摘要 | |
---|---|
static class |
Line.Info
Line.Info 物件包含關於行的資訊。 |
方法摘要 | |
---|---|
void |
addLineListener(LineListener listener)
將偵聽器添加到此行。 |
void |
close()
關閉行,指示可以釋放的該行使用的所有系統資源。 |
Control |
getControl(Control.Type control)
獲得指定型別的控制元件,如果有的話。 |
Control[] |
getControls()
獲得與此行相關的控制元件集合。 |
Line.Info |
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
。
某些型別的行具有可能影響資源分派的可配置屬性。例如,必須使用特定格式和緩衝區大小打開 DataLine
。此類別行應該提供配置這些屬性的機制,如允許應用程序指定所需設置的其他一個或多個 open
方法。
此方法不使用任何參數,並使用當前設置打開行。對於
和 SourceDataLine
物件,這意味著使用預設設置打開該行。但對於 TargetDataLine
,緩衝區大小是在載入資料時確定的。由於此方法不允許應用程序指定任何要載入的資料,因此會拋出 IllegalArgumentException。所以使用者應該改用 Clip
Clip
介面中提供的某一 open
方法將資料載入到 Clip
中。
對於 DataLine
,如果用於檢索行的 DataLine.Info
物件至少指定一個完全限定的音頻格式,則將使用最後一個格式作為預設格式。
IllegalArgumentException
- 如果在 Clip 介面上調用此方法。
LineUnavailableException
- 如果由於資源限制無法打開該行。
SecurityException
- 如果由於安全限制無法打開該行。close()
,
isOpen()
,
LineEvent
,
DataLine
,
Clip.open(AudioFormat, byte[], int, int)
,
Clip.open(AudioInputStream)
void close()
CLOSE
事件。
SecurityException
- 如果由於安全限制無法關閉該行。open()
,
isOpen()
,
LineEvent
boolean isOpen()
true
;否則返回 false
。open()
,
close()
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)
LineEvent
物件調用偵聽器的 update()
方法。
listener
- 將作為偵聽器添加到此行的物件removeLineListener(javax.sound.sampled.LineListener)
,
LineListener.update(javax.sound.sampled.LineEvent)
,
LineEvent
void removeLineListener(LineListener listener)
listener
- 要移除的偵聽器addLineListener(javax.sound.sampled.LineListener)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。