|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface Mixer
混頻器是一個具有一行或多行的音頻設備。不需要將它設計用於混合音頻信號。實際混合音頻的混頻器具有多個輸入(源)行和至少一個輸出(目標)行。前者常常是實作
的類別的實例,後者是實作 SourceDataLine
的類別的實例。TargetDataLine
物件不是源行就是目標行。通過將其某些源行作為實作 Port
介面的物件的實例,混頻器可以接受事先錄製的環繞聲音作為輸入。
Clip
通過 Line
介面(該介面由 Mixer
擴展)的方法,混頻器可以提供對該混頻器而言全體可用的控制元件集。例如,該混頻器可以有一個主音量控制元件。這些全體控制元件與屬於該混頻器的每個單行的控制元件明顯不同。
有些混頻器(特別是那些具有內部數字混音功能的混頻器)可能通過實作 DataLine
介面提供其他功能。
混頻器可以支持其行的同步。當啟動或停止同步組中的一行時,該組中的其他行自動與明顯受影響的行同時啟動或停止。
巢狀類別摘要 | |
---|---|
static class |
Mixer.Info
Mixer.Info 類別表示關於音頻混頻器的資訊,包括產品的名稱、版本和供應商,以及文本描述。 |
方法摘要 | |
---|---|
Line |
getLine(Line.Info info)
獲得可供使用並且與指定 Line.Info 物件中的描述比對的行。 |
int |
getMaxLines(Line.Info info)
獲得可以在此混頻器上同時打開的所請求型別的行的最大近似數。 |
Mixer.Info |
getMixerInfo()
獲得關於此混頻器的資訊,包括產品名稱、版本、供應商,等等。 |
Line.Info[] |
getSourceLineInfo()
獲得關於此混頻器支持的源行集合的資訊。 |
Line.Info[] |
getSourceLineInfo(Line.Info info)
獲得關於此混頻器支持的特定型別源行的資訊。 |
Line[] |
getSourceLines()
獲得當前對此混頻器打開的所有源行的集合。 |
Line.Info[] |
getTargetLineInfo()
獲得關於此混頻器支持的目標行集合的資訊。 |
Line.Info[] |
getTargetLineInfo(Line.Info info)
獲得關於此混頻器支持的特定型別目標行的資訊。 |
Line[] |
getTargetLines()
獲得當前從此混頻器打開的所有目標行的集合。 |
boolean |
isLineSupported(Line.Info info)
指示混頻器是否支持與指定 Line.Info 物件比對的一行(或多行)。 |
boolean |
isSynchronizationSupported(Line[] lines,
boolean maintainSync)
報告此混頻器是否支持指定行集合的同步。 |
void |
synchronize(Line[] lines,
boolean maintainSync)
同步兩個或多個行。 |
void |
unsynchronize(Line[] lines)
釋放指定行的同步。 |
從介面 javax.sound.sampled.Line 繼承的方法 |
---|
addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener |
方法詳細資訊 |
---|
Mixer.Info getMixerInfo()
Mixer.Info
Line.Info[] getSourceLineInfo()
Line.Info
物件陣列。如果不支持任何源行,則返回一個長度為 0 的陣列。Line.Info[] getTargetLineInfo()
Line.Info
物件陣列。如果不支持任何目標行,則返回一個長度為 0 的陣列。Line.Info[] getSourceLineInfo(Line.Info info)
info
- 描述其資訊被查詢的那些行的 Line.Info
物件
Line.Info
物件陣列。如果不支持任何比對源行,則返回一個長度為 0 的陣列。Line.Info[] getTargetLineInfo(Line.Info info)
info
- 描述查詢其資訊的行的 Line.Info
物件
Line.Info
物件陣列。如果不支持任何比對的目標行,則返一個回長度為 0 的陣列。boolean isLineSupported(Line.Info info)
Line.Info
物件比對的一行(或多行)。有些行可能只在此混頻器打開時受支持。
info
- 描述查詢其是否受支持的行
true
;否則返回 false
Line getLine(Line.Info info) throws LineUnavailableException
Line.Info
物件中的描述比對的行。
如果請求某一 DataLine
,且 info
是 DataLine.Info
的實例(至少指定一個完全限定的音頻格式),則將使用最後一種格式作為所返回 DataLine
的預設格式。
info
- 描述所需的行
LineUnavailableException
- 如果由於資源限制而使比對行不可用
IllegalArgumentException
- 如果此 mixer 不支持與描述比對的所有行
SecurityException
- 如果由於安全限制而使比對行不可用int getMaxLines(Line.Info info)
Line.Info
物件中提供的描述比對的任何一行。例如,如果 info 物件表示一個揚聲器埠號,且該混頻器只支持一個揚聲器埠號,則此方法應該返回 1。 如果 info 物件表示一個源資料行,且該混頻器支持同時使用 32 個源資料行,則返回值應該是 32。 如果沒有限制,則此方法返回 AudioSystem.NOT_SPECIFIED
。
info
- 描述將查詢其受支持實例數的那些行的 Line.Info
AudioSystem.NOT_SPECIFIED
Line[] getSourceLines()
SecurityException
- 如果由於安全限制而使比對行不可用Line[] getTargetLines()
SecurityException
- 如果由於安全限制而使比對行不可用void synchronize(Line[] lines, boolean maintainSync)
lines
- 應該同步的行maintainSync
- 如果在執行行操作的過程中必須始終精確地維護同步(即同步必須是樣本精確的),則該參數為 true
;如果只在啟動和停止操作的過程中需要精確同步,則該參數為 false
IllegalArgumentException
- 如果行無法同步。這可能在行屬於不同型別或具有此混頻器不支持其同步的不同格式,或在所有指定行不屬於此混頻器的情況下發生。void unsynchronize(Line[] lines)
null
,在此情況下,屬於此混頻器的所有當前同步行都將被解除同步。
lines
- 應該為其釋放同步的同步行;對於此混頻器的所有同步行,該參數都為 null
。
IllegalArgumentException
- 如果這些行無法解除同步。這可能在指定參數並不完全與已經為其建立同步的行集合比對的情況下發生。boolean isSynchronizationSupported(Line[] lines, boolean maintainSync)
lines
- 查詢其是否支持同步的那些行的集合maintainSync
- 如果在指定行操作的過程中始終精確地維護同步(即同步必須是樣本精確的),則該參數為 true
;如果只在啟動和停止操作的過程中需要精確同步,則該參數為 false
true
;否則返回 false
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。