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 | 頻道 |