|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
public interface Clip
Clip 介面表示特殊種類別的資料行,該資料行的音頻資料可以在回放前載入,而不是實時串流出。
因為資料是提前載入的且具有已知長度,所以可以設置一個剪輯,以便在其音頻資料中的任何位置開始播放。也可以創建一個循環,以便在播放剪輯時該循環重複播放。使用起始和結尾範例幀以及應該播放循環的次數指定循環。
剪輯可以從支持此型別的行的 中獲得。打開剪輯時,將資料載入到剪輯中。
Mixer
音頻剪輯的回放可以使用 start 和 stop 方法開始和終止。這些方法不重新設置介質的位置;start 導致從回放最後停止的位置繼續回放。要從剪輯的音頻資料的開頭重新啟動回放,只需通過 setFramePosition(0) 調用 即可,該方法可將介質重繞到剪輯的開頭。
stop
| 巢狀類別摘要 |
|---|
| 從介面 javax.sound.sampled.DataLine 繼承的巢狀類別/介面 |
|---|
DataLine.Info |
| 欄位摘要 | |
|---|---|
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)
設置介質位置(以微秒為單位)。 |
| 從介面 javax.sound.sampled.DataLine 繼承的方法 |
|---|
available, drain, flush, getBufferSize, getFormat, getFramePosition, getLevel, getLongFramePosition, getMicrosecondPosition, isActive, isRunning, start, stop |
| 從介面 javax.sound.sampled.Line 繼承的方法 |
|---|
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。
注意,有些行一旦關閉,無法重新打開。試圖重新打開這樣的行將始終導致 。
LineUnavailableException
format - 所提供的音頻資料的格式data - 套件含要載入到剪輯中的音頻資料的位元組陣列offset - 開始複製的點,用陣列開頭處的位元組 表示bufferSize - 從陣列載入到剪輯的資料的位元組 數
LineUnavailableException - 如果因資源限制而無法打開行
IllegalArgumentException - 如果緩衝區大小不表示整數範例幀,或者如果未完全指定 format 或其無效
IllegalStateException - 如果已經打開行
SecurityException - 如果因安全限制而無法打開行Line.close(),
Line.isOpen(),
LineListener
void open(AudioInputStream stream)
throws LineUnavailableException,
IOException
OPEN 事件。
在已經打開的行上調用此方法是非法的,可能導致 IllegalStateException。
注意,有些行一旦關閉,無法重新打開。試圖重新打開這樣的行將始終導致 。
LineUnavailableException
stream - 從中將音頻資料讀入剪輯的音頻輸入串流
LineUnavailableException - 如果因資源限制而無法打開行
IOException - 如果在讀取串流的過程中發生 I/O 異常
IllegalArgumentException - 如果未完全指定串流的音頻格式或其無效
IllegalStateException - 如果已經打開行
SecurityException - if 如果因安全限制而無法打開行Line.close(),
Line.isOpen(),
LineListenerint getFrameLength()
AudioSystem.NOT_SPECIFIED。AudioSystem.NOT_SPECIFIEDlong getMicrosecondLength()
AudioSystem.NOT_SPECIFIED。AudioSystem.NOT_SPECIFIEDvoid setFramePosition(int frames)
要獲得以範例幀為單位的當前位置,使用 DataLine 的 方法即可。
getFramePosition
frames - 所需新介質的位置(以範例幀表示)void setMicrosecondPosition(long microseconds)
要獲得以微秒為單位的當前位置,使用 DataLine 的 方法即可。
getMicrosecondPosition
microseconds - 所需新介質的位置(以微秒表示)
void setLoopPoints(int start,
int end)
start - 以範例幀(從零開始)為單位的循環起始位置end - 以範例幀(從零開始)為單位的循環結束位置,或為 -1 表示最後一幀
IllegalArgumentException - 如果無法設置請求的循環點,這通常是因為一個或兩個請求的點超出介質持續時間,或因為結束點在起點之前void loop(int count)
count 次,最後繼續回放到剪輯的末尾。
如果在調用此方法時當前位置大於循環結束點,則回放只持續到剪輯的結尾,不用循環。
count 值為 0 指示任何當前循環都應該停止,並且回放應該持續到剪輯的末尾。在循環操作期間使用任何其他值調用此方法的行為都是不確定的。
如果在循環期間回放停止,則清除當前循環狀態;後續循環和起始請求的行為將不受中斷的循環操作的影響。
count - 回放應該從循環的結束位置返回到循環的起始位置的次數,或者為 LOOP_CONTINUOUSLY 指示循環在中斷前應該一起持續
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。