PROTOCOLS
連接線
定義於 fuchsia.hardware.audio.signalprocessing/connector.fidl
如需信號處理通訊協定的總覽,請參閱 音訊訊號處理
SignalProcessingConnect
連線至 SignalProcessing 通訊協定。
如果不支援新的連線要求,系統可能支援多個連線,即
因此連線數量已達到上限。舉例來說,如執行個體 1,
protocol 管道 (非呼叫 SignalProcessingConnect 的管道)
即將打烊,並打 ZX_ERR_ALREADY_BOUND。
如果完全不支援信號處理,則系統會傳回 protocol 管道 (同樣不是
呼叫 SignalProcessingConnect 所在的管道) 將會關閉
ZX_ERR_NOT_SUPPORTED 號縮寫。
由於這個通訊協定稱為 SignalProcessingConnect,而不是 Connect
是一組特徵,因此名稱越詳細,您就能明確區分
更加清晰易懂
要求
| 名稱 | 類型 | 
|---|---|
protocol | 
            
                server_end<SignalProcessing>
             | 
        
讀取者
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
如需總覽,請參閱 [信號處理介面]。
GetElements
傳回支援的處理元素的向量。
必須傳回一或多個處理元素,或 ZX_ERR_NOT_SUPPORTED。
如果 GetTopologies 傳回一或多個拓撲,則 GetElements 必須傳回一或多個拓撲
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                Reader_GetElements_Result
             | 
        
GetTopologies
傳回支援的拓撲的向量。
必須傳回一或多個拓撲,或 ZX_ERR_NOT_SUPPORTED。
如果傳回多個拓撲,則用戶端可以選擇從
產生含有 SetTopology 的清單
如果只傳回一個拓撲,則拓撲定義只會提供相關資訊,因為
唯一的拓撲無法透過 SetTopology 變更。
如果 GetElements 傳回一或多個元素,則 GetTopologies 必須傳回一或多個元素。
建立更多拓撲
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                Reader_GetTopologies_Result
             | 
        
WatchElementState
透過懸掛的取得取得處理元素狀態。
根據指定的 processing_element_id,驅動程式庫會回覆第一個 WatchElementState
呼叫驅動程式不會回應後續的用戶端 WatchElementState
對指定 processing_element_id 的呼叫,直到 Element 資料表的任何欄位變更為止
來自「processing_element_id」的最新報導
若有 ZX_ERR_BAD_STATE 錯誤,驅動程式就會關閉通訊協定管道
如果這個用戶端已有待處理的 WatchElementState,系統就會再次呼叫方法
和 Process_element_id 的處理程序。
要求
| 名稱 | 類型 | 
|---|---|
processing_element_id | 
            
                ElementId
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
state | 
            
                ElementState
             | 
        
WatchTopology
透過迅速上手的方式取得目前的拓撲。
驅動程式會立即回覆每個用戶端傳送的第一個 WatchTopology。
除非WatchTopology
信號處理拓撲變更,是因 SetTopology 呼叫而發生。
若有 ZX_ERR_BAD_STATE 錯誤,驅動程式就會關閉通訊協定管道
當此用戶端已有待處理的 WatchTopology 時,則會再次呼叫方法。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
topology_id | 
            
                TopologyId
             | 
        
SignalProcessing
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
如需總覽,請參閱 [信號處理介面]。
GetElements
傳回支援的處理元素的向量。
必須傳回一或多個處理元素,或 ZX_ERR_NOT_SUPPORTED。
如果 GetTopologies 傳回一或多個拓撲,則 GetElements 必須傳回一或多個拓撲
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                Reader_GetElements_Result
             | 
        
GetTopologies
傳回支援的拓撲的向量。
必須傳回一或多個拓撲,或 ZX_ERR_NOT_SUPPORTED。
如果傳回多個拓撲,則用戶端可以選擇從
產生含有 SetTopology 的清單
如果只傳回一個拓撲,則拓撲定義只會提供相關資訊,因為
唯一的拓撲無法透過 SetTopology 變更。
如果 GetElements 傳回一或多個元素,則 GetTopologies 必須傳回一或多個元素。
建立更多拓撲
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                Reader_GetTopologies_Result
             | 
        
SetElementState
使用由 GetElements 傳回的專屬 ElementId 控制處理元素。
請注意,SettableElementState 是 ElementState 的子集,因為部分欄位會傳回
來自 WatchElementState 的 (例如 latency) 只能由用戶端觀測 (未設定)。
如果 processing_element_id 與傳回的 ID 不符,則傳回 ZX_ERR_INVALID_ARGS
依據 GetElements 或 SettableTypeSpecificElementState 類型未
符合 ElementType 的
此為 GetElements 的值。
如果 state 值無效 (即ZX_ERR_INVALID_ARGS
的值違反此通訊協定中指定的規則,例如:嘗試變更
EQUALIZER在進行處理時,處理元素的 EqualizerBandState frequency
元素並未在 supported_controls 中宣傳 CAN_CONTROL_FREQUENCY。
您可在非 SignalProcessing 通訊協定之前或之後呼叫 SetElementState
呼叫。如果在非 SignalProcessing 通訊協定呼叫之後呼叫,則
SetElementState 不一定需要重新協商驅動程式庫狀態,
與組成 SignalProcessing 的通訊協定呼叫相符,例如:Dai。
舉例來說,SetElementState 會變更 AGL 處理元素的參數
可能不需要重新協商 Dai 狀態,因為變更增益參數通常會變更
不會變更支援的音訊格式組合。
相反地,如果 SetElementState 變更 CONNECTION_POINT 的參數
元素,變更可能需要重新協商,因為這可能會撤銷
前一個 GetDaiFormats Dai 通訊協定呼叫中傳回的支援格式。
驅動程式庫的工作是判斷何時需要重新協商。如果重新協商是
必要,則 SetElementState 必須傳回 ZX_ERR_BAD_STATE,而用戶端必須
並關閉通訊協定管道,這樣系統就會開始進行通訊協定協商。
接著,用戶端必須發出傳回的 SetElementState 呼叫
ZX_ERR_BAD_STATE,然後才呼叫任何非 SignalProcessing 通訊協定。
要求
| 名稱 | 類型 | 
|---|---|
processing_element_id | 
            
                ElementId
             | 
        
state | 
            
                SettableElementState
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                SignalProcessing_SetElementState_Result
             | 
        
SetTopology
設定要在 GetTopologies 傳回的向量使用 ID 的情況下使用拓撲。
目前的拓撲由 WatchTopology 回應提供。如要變更拓撲
已啟用,則用戶端使用 SetTopology。
如果指定的 topology_id 不在 GetTopologies 傳回的 topologies 中,
這場通話會傳回 ZX_ERR_INVALID_ARGS。
如果 GetTopologies 只傳回一個 Topology,則 SetTopology 為選用性質,沒有任何作用。
在非 SignalProcessing 通訊協定呼叫之前或之後,您可以呼叫 SetTopology。
如果在非 SignalProcessing 通訊協定呼叫之後呼叫,SetTopology 可能會傳回
ZX_ERR_BAD_STATE 表示必須先重新協商,才能繼續操作
驅動程式庫狀態如需進一步討論,請參閱 SetElementState。
要求
| 名稱 | 類型 | 
|---|---|
topology_id | 
            
                TopologyId
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                SignalProcessing_SetTopology_Result
             | 
        
WatchElementState
透過懸掛的取得取得處理元素狀態。
根據指定的 processing_element_id,驅動程式庫會回覆第一個 WatchElementState
呼叫驅動程式不會回應後續的用戶端 WatchElementState
對指定 processing_element_id 的呼叫,直到 Element 資料表的任何欄位變更為止
來自「processing_element_id」的最新報導
若有 ZX_ERR_BAD_STATE 錯誤,驅動程式就會關閉通訊協定管道
如果這個用戶端已有待處理的 WatchElementState,系統就會再次呼叫方法
和 Process_element_id 的處理程序。
要求
| 名稱 | 類型 | 
|---|---|
processing_element_id | 
            
                ElementId
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
state | 
            
                ElementState
             | 
        
WatchTopology
透過迅速上手的方式取得目前的拓撲。
驅動程式會立即回覆每個用戶端傳送的第一個 WatchTopology。
除非WatchTopology
信號處理拓撲變更,是因 SetTopology 呼叫而發生。
若有 ZX_ERR_BAD_STATE 錯誤,驅動程式就會關閉通訊協定管道
當此用戶端已有待處理的 WatchTopology 時,則會再次呼叫方法。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
topology_id | 
            
                TopologyId
             | 
        
結構
EdgePair
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
處理元素之間的邊緣配對,用來定義處理元素中的順序 。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
processing_element_id_from | 
            
                ElementId
             | 
            無預設 | |
processing_element_id_to | 
            
                ElementId
             | 
            無預設 | 
Reader_GetElements_Response
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
processing_elements | 
            
                vector<Element>[64]
             | 
            無預設 | 
Reader_GetTopologies_Response
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
topologies | 
            
                vector<Topology>[64]
             | 
            無預設 | 
SignalProcessing_SetElementState_Response
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
<空白>
SignalProcessing_SetTopology_Response
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
<空白>
ENUMS
ElementType 彈性
類型:uint32
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
| 名稱 | 值 | 說明 | 
|---|---|---|
VENDOR_SPECIFIC | 
            1 | 
            供應商專屬。不屬於任何後續類型定義涵蓋的處理元素類型。  | 
        
CONNECTION_POINT | 
            3 | 
            控管管道管道的組合和轉送。  | 
        
喬治亞州 | 
            4 | 
            增大控制,也就是音量控制。  | 
        
AUTOMATIC_GAIN_CONTROL | 
            5 | 
            自動增益控制。 無論輸入內容的變化情形,自動維持合適的信號層級。  | 
        
AUTOMATIC_GAIN_LIMITER | 
            6 | 
            自動增益上限。 自動維持低於指定層級的信號層級。 位於等級以下的高峰不會受到影響,而最高級別的高峰值則不受影響。  | 
        
地貌 | 
            7 | 
            變更信號的動態範圍,例如動態範圍壓縮  | 
        
關閉 | 
            8 | 
            。  | 
        
DELAY | 
            9 | 
            延遲。  | 
        
EQUALIZER | 
            10 | 
            等化器。  | 
        
SAMPLE_RATE_CONVERSION | 
            11 | 
            取樣率轉換。  | 
        
端點 | 
            12 | 
            管道的啟動/結束。 移除:20  新增:12 
 | 
        
RING_BUFFER | 
            13 | 
            鈴聲緩衝區。 這是啟動/結束處理管道的兩種元素類型的第一種。 新增:20 
 | 
        
DAI_INTERCONNECT | 
            14 | 
            數位音訊介面互連網路。 這是可啟動/結束處理管道的第二種元素。 新增:20 
 | 
        
EndpointType 彈性
類型:uint8
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
端點類型。
| 名稱 | 值 | 說明 | 
|---|---|---|
RING_BUFFER | 
            1 | 
            端點代表環形緩衝區。 環形緩衝區處理元素的 id 允許多環緩衝區拓撲 由提供 fuchsia.hardware.audio/Composite API 的驅動程式庫支援。  | 
        
DAI_INTERCONNECT | 
            2 | 
            端點代表數位音訊介面互連網路 例如:將 SoC 音訊子系統連線到 DAC + 擴大器硬體轉碼器。  | 
        
EqualizerBandType 彈性
類型:uint64
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
等化器錶帶類型。
| 名稱 | 值 | 說明 | 
|---|---|---|
PEAK | 
            1 | 
            在   | 
        
通知 | 
            2 | 
            狹窄錶帶拒絕功能大幅影響   | 
        
LOW_CUT | 
            3 | 
            運用選用的   | 
        
HIGH_CUT | 
            4 | 
            使用選用的   | 
        
LOW_SHELF | 
            5 | 
            將增益降低到   | 
        
HIGH_SHELF | 
            6 | 
            以高原效果調低   | 
        
GainDomain 彈性
類型:uint8
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
獲益的硬體網域,例如註解。
| 名稱 | 值 | 說明 | 
|---|---|---|
數位 | 
            1 | 
            處理元素增益會在數位領域套用。  | 
        
ANALOG | 
            2 | 
            處理元素增益會套用至類比網域。  | 
        
混合 | 
            3 | 
            處理元素增益會混合使用數位和類比硬體。  | 
        
GainType 嚴格
類型:uint8
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
獲取表示法類型。
| 名稱 | 值 | 說明 | 
|---|---|---|
簡報 | 
            1 | 
            以 dB 為單位指定增益,例如 -103.0dB 或 +3.2dB。  | 
        
比 | 
            2 | 
            增加幅度是以百分比表示,例如 10.0% 或 80.5%。  | 
        
LevelType 嚴格
類型:uint8
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
等級類型。
| 名稱 | 值 | 說明 | 
|---|---|---|
PEAK | 
            1 | 
            「等級增加」已指定為峰值。  | 
        
RMS | 
            2 | 
            指定為 RMS 的等級。  | 
        
PlugDetectabilities 彈性
類型:uint32
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
互連網路的插頭偵測功能。
| 名稱 | 值 | 說明 | 
|---|---|---|
困難 | 
            0 | 
            互連網路採用有線網路,且一律接上電源。  | 
        
CAN_ASYNC_NOTIFY | 
            1 | 
            互連網路可能處於拔除插頭/插頭的狀態,並且能以非同步方式通知插座狀態變更。  | 
        
ThresholdType 嚴格
類型:uint8
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
門檻類型。
| 名稱 | 值 | 說明 | 
|---|---|---|
ABOVE | 
            1 | 
            套用高於門檻的動態處理方法。  | 
        
低於 | 
            2 | 
            套用低於門檻的動態處理方法。  | 
        
資料表
DaiInterconnect
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
Element 的參數 (type 等於 DAI_INTERCONNECT)。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            plug_detect_capabilities | 
            
                PlugDetectCapabilities
             | 
            插電偵測功能。 必填。  | 
        
DaiInterconnectElementState
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
Element 的狀態為 type 等於 DAI_INTERCONNECT。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            plug_state | 
            
                PlugState
             | 
            這個 DAI 互連網路的插頭狀態。 必填。  | 
        
2 | 
            external_delay | 
            
                zx/Duration
             | 
            從這個 DAI 端點之後,驅動程式的最佳外部延遲時間估計值,因為 目前已設定。 用戶端在確定需求時必須將  如果未包含, 選用。  | 
        
動力學
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
Element 的參數 (type 等於 DYNAMICS)。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            bands | 
            
                vector<DynamicsBand>[64]
             | 
            這個通訊協定中的  此為必要項目。至少須包含一個項目。  | 
        
2 | 
            supported_controls | 
            
                DynamicsSupportedControls
             | 
            此處理元素支援的控制項。 選用。  | 
        
DynamicsBand
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
Dynamics 元素錶帶的參數。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            id | 
            
                uint64
             | 
            此錶帶的專屬 ID,只需在對應的
 必填。  | 
        
DynamicsBandState
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
Element 中單一錶帶的狀態,type 等於 DYNAMICS。
伺服器可能包含控制頻段欄位,即使該伺服器無法在
用戶端的用戶端 (也就是說,位元並非在 supported_controls 中設定)。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            id | 
            
                uint64
             | 
            錶帶的專屬 ID。必須與以下項目中指定的其中一個   | 
        
2 | 
            min_frequency | 
            
                uint32
             | 
            錶帶的最小頻率 (以 Hz 為單位)。 舉例來說,這個欄位可以是 0,例如用於單頻動態處理需指定 (連同 max_frequency 一起) 表示錶帶的完整範圍。  | 
        
3 | 
            max_frequency | 
            
                uint32
             | 
            錶帶的最大頻率 (以 Hz 為單位)。 這個欄位可以是 Nyquist 頻率,例如單頻動態。 處理程序,指定錶帶的完整範圍 (搭配 min_frequency)。 必填。  | 
        
4 | 
            threshold_db | 
            
                float32
             | 
            動態主處理程序開始後的值 (取決於
 必填。  | 
        
5 | 
            threshold_type | 
            
                ThresholdType
             | 
            動態處理功能已套用  伺服器需要。
如果發生以下情況,用戶端不得在   | 
        
6 | 
            ratio | 
            
                float32
             | 
            輸入與輸出 dB 的比率高於或低於膝蓋區域 (請參閱  必填。  | 
        
7 | 
            knee_width_db | 
            
                float32
             | 
            膝蓋區域的寬度,輸入 dB。如果有 ,就不能為負數。
如果未指定,則未指定膝蓋區域的寬度。
值為 0 代表「硬性」膝蓋;輸入的值會使「較不穩定」膝蓋。
這隻膝蓋位於 選用。
如果發生以下情況,用戶端不得在   | 
        
8 | 
            attack | 
            
                zx/Duration
             | 
            攻擊時間。 如果沒有提供,則未指定攻擊時間。 選用。
如果發生以下情況,用戶端不得在   | 
        
9 | 
            release | 
            
                zx/Duration
             | 
            發布時間。 如未提供,則未指定發布時間。 選用。
如果發生以下情況,用戶端不得在   | 
        
10 | 
            output_gain_db | 
            
                float32
             | 
            以 dB 為單位的輸出內容 (也就是化妝或後期) 增益值。 如未納入,則未指定輸出增益值。 選用。
如果發生以下情況,用戶端不得在   | 
        
11 | 
            input_gain_db | 
            
                float32
             | 
            以 dB 為單位增加輸入量 如果未指定,則未指定輸入的增益值。 選用。
如果發生以下情況,用戶端不得在   | 
        
12 | 
            level_type | 
            
                LevelType
             | 
            等級類型 (最高值或 RMS)。 如未提供,則未指定等級類型。 選用。
如果發生以下情況,用戶端不得在   | 
        
13 | 
            lookahead | 
            
                zx/Duration
             | 
            預先評估時間。 如果沒有加入,則未指定預先考慮時間。 選用。
如果發生以下情況,用戶端不得在   | 
        
14 | 
            linked_channels | 
            
                bool
             | 
            已連結的頻道 (也就是與雙管道系統連結的立體聲)。 如果沒有加入,則表示未指定連結頻道。 如果設為 true,動態回應會套用至所有管道。 如果為 false,則每個管道都有自己的動態回應。 選用。
如果發生以下情況,用戶端不得在   | 
        
DynamicsElementState
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
Element 的狀態為 type 等於 DYNAMICS。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            band_states | 
            
                vector<DynamicsBandState>[64]
             | 
            每個 ID 都必須與   | 
        
元素
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            id | 
            
                ElementId
             | 
            此元素的專屬 ID。這個 ID 的範圍僅在  必填。  | 
        
2 | 
            type | 
            
                ElementType
             | 
            正在處理元素類型。 必填。  | 
        
3 | 
            type_specific | 
            
                TypeSpecificElement
             | 
            如果包含在內,系統就會處理處理元素的類型專屬參數。 選用。  | 
        
4 | 
            can_disable | 
            
                bool
             | 
            如果加入且值為 True,就可以透過以下方式停用處理元素:
 選用。 淘汰請改用  移除時間:20 
 | 
        
5 | 
            description | 
            
                string[256]
             | 
            如有這類標記,則會顯示處理元素的文字說明。 選用。  | 
        
6 | 
            can_stop | 
            
                bool
             | 
            如果加入且為 True,即可透過  選用。 新增:20 
 | 
        
7 | 
            can_bypass | 
            
                bool
             | 
            如果加入且為 True,就能透過  選用。 新增:20 
 | 
        
ElementState
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
從驅動程式庫傳回的元素目前狀態。請注意,這個表格包含
欄位,因為用戶端無法設定這些欄位。SettableElementState
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            type_specific | 
            
                TypeSpecificElementState
             | 
            如果有提供,就會為處理元素指定類型專屬的狀態參數。 如果這個處理元素已停用,且提供了其類型專屬狀態,那麼 類型專屬狀態只是資訊 (例如當停止元素的狀態 重新啟動,而不必提供其他取代狀態資訊)。 選用。  | 
        
2 | 
            enabled | 
            
                bool
             | 
            處理元素啟用/停用狀態。系統預設會啟用處理元素。
如果對應的  選用。 淘汰請改用  移除時間:20 
 | 
        
3 | 
            latency | 
            
                Latency
             | 
            如果包含在內,當這個處理元素發生時,管道會增加多少延遲時間
這個欄位不得出現在  選用。 移除時間:20 
 | 
        
4 | 
            vendor_specific_data | 
            
                vector<uint8>[4096]
             | 
            如有包含,這是用來交換供應商特定資訊的不透明八位元物件。 選用。 新增時間:HEAD 
 | 
        
5 | 
            started | 
            
                bool
             | 
            這個處理元素的啟動/停止狀態。 如果為 true,系統會啟動與該元素相關聯的硬體。如果為 false,表示已停止。 根據預設,系統會啟動處理元素。 停止處理的元素並不提供抽象的功能。 具體來說,沒有任何音訊資料透過停止的元素傳輸。 必填。 新增:20 
 | 
        
6 | 
            bypassed | 
            
                bool
             | 
            這個處理元素的略過狀態。 如為 true,系統會略過與元素相關聯的硬體。如果為 false,則不會略過。 根據預設,系統不會略過預設的處理元素。
如果對應的  略過的元素不會影響拓撲間的音訊流動。 選用。 新增:20 
 | 
        
7 | 
            turn_on_delay | 
            
                zx/Duration
             | 
            如果納入這項屬性,則代表驅動程式庫準確預估元素
 如未考量這段延遲時間,音訊串流的初始影格
音訊元素啟動期間遺失。
如果沒有加入,表示  選用。 新增:20 
 | 
        
8 | 
            turn_off_delay | 
            
                zx/Duration
             | 
            如果納入這項屬性,則代表驅動程式庫準確預估元素
 如果沒有考量這項延遲,發出/擷取的影格數量會超過
尤其是當某些元件關閉時,客戶可能會發現。
如果沒有加入,表示  選用。 新增:20 
 | 
        
9 | 
            processing_delay | 
            
                zx/Duration
             | 
            如有加入,則該驅動程式庫的最佳預估結果 (根據目前設定,包括  客戶判斷 最短前置時間 (播放時) 和最短拍攝延遲時間 (拍攝時)。 針對  選用。 新增:20 
 | 
        
端點
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
Element 的參數 (type 等於 ENDPOINT)。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            type | 
            
                EndpointType
             | 
            指定端點代表的內容, 必填。  | 
        
2 | 
            plug_detect_capabilities | 
            
                PlugDetectCapabilities
             | 
            插電偵測功能。 必填。  | 
        
EndpointElementState
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
Element 的狀態為 type 等於 ENDPOINT。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            plug_state | 
            
                PlugState
             | 
            如果納入這個端點的插座偵測狀態, 伺服器需要。  | 
        
等化器
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
Element 的參數 (type 等於 EQUALIZER)。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            bands | 
            
                vector<EqualizerBand>[64]
             | 
            這個通訊協定中的等化器是由多個色彩模式所構成,每個頻段都會指定
和  必填。  | 
        
2 | 
            supported_controls | 
            
                EqualizerSupportedControls
             | 
            這個等化器支援的控制項。 選用。  | 
        
3 | 
            can_disable_bands | 
            
                bool
             | 
            如果納入此範圍且為 true,則可透過  選用。  | 
        
4 | 
            min_frequency | 
            
                uint32
             | 
            錶帶的最小頻率 (以 Hz 為單位)。 必填。  | 
        
5 | 
            max_frequency | 
            
                uint32
             | 
            錶帶的最大頻率 (以 Hz 為單位)。 必填。  | 
        
6 | 
            max_q | 
            
                float32
             | 
            最大品質因素,通常以「Q」表示。 用於表示頻率轉換的頻率有多長。Q 值越高,表示越窄 凹槽/高音以及燉切/剪接頭。必須為正數。 選用。  | 
        
7 | 
            min_gain_db | 
            
                float32
             | 
            最小增益值 (以 dB 為單位)。 選用,但如果   | 
        
8 | 
            max_gain_db | 
            
                float32
             | 
            最大增值 (dB)。 選用,但如果   | 
        
EqualizerBand
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
等化器錶帶的參數。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            id | 
            
                uint64
             | 
            此錶帶的專屬 ID,只需在對應的
 必填。  | 
        
EqualizerBandState
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
Element 中單一錶帶的狀態,type 等於 EQUALIZER。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            id | 
            
                uint64
             | 
            錶帶的專屬 ID。必須與  必填。  | 
        
2 | 
            type | 
            
                EqualizerBandType
             | 
            錶帶類型。 選用。  | 
        
3 | 
            frequency | 
            
                uint32
             | 
            錶帶的中心頻率。 選用。  | 
        
4 | 
            q | 
            
                float32
             | 
            品質因素,通常以「Q」表示。 用於表示頻率轉換的頻率有多長。Q 值越高,表示越窄 凹槽/高音以及燉切/剪接頭。必須為正數。 選用。  | 
        
5 | 
            gain_db | 
            
                float32
             | 
            增加 分貝。 選填,但   | 
        
6 | 
            enabled | 
            
                bool
             | 
            啟用/停用錶帶。系統預設會啟用所有頻帶。
將  選用。  | 
        
EqualizerElementState
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
Element 的狀態 (type 等於 EQUALIZER)。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            bands_state | 
            
                vector<EqualizerBandState>[64]
             | 
            
 必填。 移除時間:20 
 | 
        
2 | 
            band_states | 
            
                vector<EqualizerBandState>[64]
             | 
            
 必填。 新增:20 
 | 
        
增益
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
Element 的參數 (type 等於 GAIN)。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            type | 
            
                GainType
             | 
            指定增益數字代表的意義,例如百分比。 必填。  | 
        
2 | 
            domain | 
            
                GainDomain
             | 
            如果包含,則會套用在指定  選用。  | 
        
3 | 
            min_gain | 
            
                float32
             | 
            最小增益,格式為  必填。  | 
        
4 | 
            max_gain | 
            
                float32
             | 
            最大增益,採用  必填。  | 
        
5 | 
            min_gain_step | 
            
                float32
             | 
            採用  必填。  | 
        
GainElementState
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
Element 的狀態為 type 等於 GAIN。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            gain | 
            
                float32
             | 
            目前漲幅 ( 必填。  | 
        
PlugState
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
互連網路的插頭狀態。
如果驅動程式庫回報 plug_detect_capabilities 等於 HARDWIRED,則驅動程式庫應
只有在首次針對特定互連網路呼叫 WatchElementState 時,才會回應,
plugged 已設為 true,plug_state_time 則設為「0」。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            plugged | 
            
                bool
             | 
            指出互連網路目前是否插入。 必要  | 
        
2 | 
            plug_state_time | 
            
                zx/Time
             | 
            表示使用  必填。  | 
        
SettableElementState
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
處理用戶端可設定的元素狀態。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            type_specific | 
            
                SettableTypeSpecificElementState
             | 
            處理元素的類型專屬狀態參數。 如果這個處理元素已停用,且提供了其類型專屬狀態,那麼
類型專屬狀態只是資訊,例如  如未設定,元素先前的  對動態、等化器、獲利以及供應商特定類型而言則為選用。 如果加入任何其他元素類型,則無效。  | 
        
2 | 
            vendor_specific_data | 
            
                vector<uint8>[4096]
             | 
            如有包含,這是用來交換供應商特定資訊的不透明八位元物件。 系統可能會將供應商專屬資料傳送至任何元素,而不只是供應商專屬類型。 選用。 新增時間:HEAD 
 | 
        
3 | 
            started | 
            
                bool
             | 
            是否啟動這個處理元素 (如為 false,則停止)。 停止處理的元素並不提供抽象的功能。 具體來說,沒有任何音訊資料透過停止的元素傳輸。 如果對應的  選用。  | 
        
4 | 
            bypassed | 
            
                bool
             | 
            是否略過這個處理元素 (如果為 false,則啟用/「略過」。 略過的元素不會影響拓撲間的音訊流動。 具體來說,音訊會透過元素傳遞,且不會有任何變化。 如果對應的  選用。  | 
        
拓撲學
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Topology 會指定在硬體中排列單一處理元素的方式。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            id | 
            
                TopologyId
             | 
            這個拓撲的專屬 ID。這個 ID 的範圍僅在  必填。  | 
        
2 | 
            processing_elements_edge_pairs | 
            
                vector<EdgePair>[64]
             | 
            依序處理元素邊緣配對的向量。
邊緣組合形式管道的處理元素順序。
如要定義多個可能的管道,請在  必填。  | 
        
VendorSpecific
定義於 fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl
Element 的參數 (type 等於 VENDOR_SPECIFIC)。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|
VendorSpecificState
定義於 fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl
Element 的狀態為 type 等於 VENDOR_SPECIFIC。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|
聯合國
延遲時間彈性
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            latency_time | 
            
                zx/Duration
             | 
            延遲時間已新增為 zx.Duration 管道的延遲時間。  | 
        
2 | 
            latency_frames | 
            
                uint32
             | 
            以影格數的形式新增至管道的延遲時間。  | 
        
Reader_GetElements_Result 嚴格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                Reader_GetElements_Response
             | 
            |
2 | 
            err | 
            
                zx/Status
             | 
            
Reader_GetTopologies_Result 嚴格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                Reader_GetTopologies_Response
             | 
            |
2 | 
            err | 
            
                zx/Status
             | 
            
SettableTypeSpecificElementState 彈性
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
特定類型處理元素狀態,可由用戶端設定。
處理元素控制項的類型是由此
聯集。必須與ElementType
對應 Element。
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            vendor_specific | 
            
                VendorSpecificState
             | 
            |
2 | 
            gain | 
            
                GainElementState
             | 
            |
3 | 
            equalizer | 
            
                EqualizerElementState
             | 
            |
4 | 
            dynamics | 
            
                DynamicsElementState
             | 
            
SignalProcessing_SetElementState_Result 嚴格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                SignalProcessing_SetElementState_Response
             | 
            |
2 | 
            err | 
            
                zx/Status
             | 
            
SignalProcessing_SetTopology_Result 嚴格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                SignalProcessing_SetTopology_Response
             | 
            |
2 | 
            err | 
            
                zx/Status
             | 
            
TypeSpecificElement 彈性
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Element 的類型專屬參數。
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            vendor_specific | 
            
                VendorSpecific
             | 
            |
2 | 
            gain | 
            
                Gain
             | 
            |
3 | 
            equalizer | 
            
                Equalizer
             | 
            |
4 | 
            dynamics | 
            
                Dynamics
             | 
            |
5 | 
            endpoint | 
            
                Endpoint
             | 
            移除:20  新增:12 
 | 
        
6 | 
            dai_interconnect | 
            
                DaiInterconnect
             | 
            新增:20 
 | 
        
TypeSpecificElementState 彈性
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
特定類型處理元素狀態。
處理元素控制項的類型是由此
聯集。必須與ElementType
對應 Element。
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            vendor_specific | 
            
                VendorSpecificState
             | 
            |
2 | 
            gain | 
            
                GainElementState
             | 
            |
3 | 
            equalizer | 
            
                EqualizerElementState
             | 
            |
4 | 
            dynamics | 
            
                DynamicsElementState
             | 
            |
5 | 
            endpoint | 
            
                EndpointElementState
             | 
            移除:20  新增:12 
 | 
        
6 | 
            dai_interconnect | 
            
                DaiInterconnectElementState
             | 
            新增:20 
 | 
        
商業智慧
DynamicsSupportedControls 彈性
類型:uint64
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
支援的 Dynamics 控管措施。
如果使用這個欄位,每個位元代表動態處理頻帶參數則可能有所變更
只在 SetElementState。
| 名稱 | 值 | 說明 | 
|---|---|---|
KNEE_WIDTH | 
            1 | 如果採用此選項,則可變更   | 
        
攻擊 | 
            2 | 如果採用此選項,則可變更   | 
        
發布 | 
            4 | 如果採用此選項,則可變更   | 
        
OUTPUT_GAIN | 
            8 | 如果採用此選項,則可變更   | 
        
INPUT_GAIN | 
            16 | 如果採用此選項,則可變更   | 
        
看起來 | 
            32 | 如果採用此選項,則可變更   | 
        
LEVEL_TYPE | 
            64 | 如果採用此選項,則可變更   | 
        
LINKED_CHANNELS | 
            128 | 如果採用此選項,則可變更   | 
        
THRESHOLD_TYPE | 
            256 | 如果採用此選項,則可變更  新增:20 
 | 
        
等化器支援控制項 (彈性)
類型:uint64
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
Equalizer 中指定的等化器支援的控制項。
| 名稱 | 值 | 說明 | 
|---|---|---|
CAN_CONTROL_FREQUENCY | 
            1 | 如果加入,則可使用   | 
        
CAN_CONTROL_Q | 
            2 | 如果加入,則可使用   | 
        
SUPPORTS_TYPE_PEAK | 
            4 | 如果加入,則可使用   | 
        
SUPPORTS_TYPE_NOTCH | 
            8 | 如果加入,則可使用   | 
        
SUPPORTS_TYPE_LOW_CUT | 
            16 | 如果加入,則可使用   | 
        
SUPPORTS_TYPE_HIGH_CUT | 
            32 | 如果加入,則可使用   | 
        
SUPPORTS_TYPE_LOW_SHELF | 
            64 | 如果加入,則可使用   | 
        
SUPPORTS_TYPE_HIGH_SHELF | 
            128 | 如果加入,則可使用   | 
        
觀測站
| 名稱 | 值 | 類型 | 說明 | 
|---|---|---|---|
| MAX_BYTES_ELEMENT_VENDOR_SPECIFIC | 
                    4096
                 | 
                uint32 | 
            新增時間:HEAD 
 | 
        
| MAX_COUNT_DYNAMICS_BANDS | 
                    64
                 | 
                uint32 | 
            |
| MAX_COUNT_EQUALIZER_BANDS | 
                    64
                 | 
                uint32 | 
            |
| MAX_COUNT_PROCESSING_ELEMENTS | 
                    64
                 | 
                uint32 | 
            |
| MAX_COUNT_PROCESSING_ELEMENTS_EDGE_PAIRS | 
                    64
                 | 
                uint32 | 
            |
| MAX_COUNT_TOPOLOGIES | 
                    64
                 | 
                uint32 | 
            |
| MAX_STRING_SIZE | 
                    256
                 | 
                uint32 | 
            
別名
| 名稱 | 值 | 說明 | 
|---|---|---|
| ElementId | 
                uint64 | 
            |
| TopologyId | 
                uint64 | 
            
服務
ConnectorService
定義於 fuchsia.hardware.audio.signalprocessing/connector.fidl
| 名稱 | 類型 | 傳輸 | 
|---|---|---|
| 連接器 | 
                fuchsia.hardware.audio.signalprocessing/Connector
             | 
            頻道 |