通訊協定
連接線
定義於 fuchsia.hardware.audio.signalprocessing/connector.fidl
如需信號處理通訊協定總覽,請參閱「音訊訊號處理」一文
SignalProcessingConnect
連線至 SignalProcessing
通訊協定。如果系統不支援新的連線要求 (例如已建立的連線數量上限,例如已建立的連線數量上限),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
詳情請參閱 [Signal Processing Interface] 一文。
GetElements
傳回支援處理元素的向量。必須傳回一或多個處理元素,或 ZX_ERR_NOT_SUPPORTED
。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
payload |
Reader_GetElements_Result
|
GetTopologies
傳回支援拓撲的向量。必須傳回一或多個拓撲,或 ZX_ERR_NOT_SUPPORTED
。如果傳回多個拓撲,用戶端可能會使用 SetTopology
從清單中選擇任何拓撲。如果只傳回一個拓撲,則由於拓撲定義不能透過 SetTopology
變更,因此拓撲定義只是資訊。如果 GetElements
傳回一或多個元素,GetTopologies
必須傳回一或多個拓撲。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
payload |
Reader_GetTopologies_Result
|
WatchElementState
透過懸掛的取得作業取得處理元素狀態。對於指定的 processing_element_id
,驅動程式庫會回覆用戶端傳送的第一個 WatchElementState
。除非 Element
資料表的任何欄位與 processing_element_id
最新回報的內容不同,否則驅動程式不會回應對 processing_element_id
的後續用戶端 WatchElementState
呼叫。如果再次呼叫此方法和處理_element_id 的待處理 WatchElementState
,則驅動程式會關閉錯誤為 ZX_ERR_BAD_STATE
的通訊協定管道。
要求
名稱 | 類型 |
---|---|
processing_element_id |
ElementId
|
回應
名稱 | 類型 |
---|---|
state |
ElementState
|
WatchTopology
透過等待中取得目前的拓撲。駕駛人會立即回覆每個用戶端傳送的第一則 WatchTopology
。在信號處理拓撲變更 (因為 SetTopology
呼叫而發生) 之前,驅動程式不會回應來自該用戶端的後續 WatchTopology
呼叫。如果在這個用戶端已有待處理的 WatchTopology
時再次呼叫這個方法,驅動程式會關閉錯誤為 ZX_ERR_BAD_STATE
的通訊協定管道。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
topology_id |
TopologyId
|
SignalProcessing
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
詳情請參閱 [Signal Processing Interface] 一文。
GetElements
傳回支援處理元素的向量。必須傳回一或多個處理元素,或 ZX_ERR_NOT_SUPPORTED
。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
payload |
Reader_GetElements_Result
|
GetTopologies
傳回支援拓撲的向量。必須傳回一或多個拓撲,或 ZX_ERR_NOT_SUPPORTED
。如果傳回多個拓撲,用戶端可能會使用 SetTopology
從清單中選擇任何拓撲。如果只傳回一個拓撲,則由於拓撲定義不能透過 SetTopology
變更,因此拓撲定義只是資訊。如果 GetElements
傳回一或多個元素,GetTopologies
必須傳回一或多個拓撲。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
payload |
Reader_GetTopologies_Result
|
SetElementState
使用 GetElements
傳回的專屬 ID 控制處理元素。如果 processing_element_id
與 GetElements
傳回的 ID 不相符,或 TypeSpecificElementState
類型與 GetElements
為此 ID 傳回的處理元素 ElementType
不相符,則會傳回 ZX_ERR_INVALID_ARGS
。如果 state
值無效 (也就是任何值違反此通訊協定中指定的規則),驅動程式可能會傳回 ZX_ERR_INVALID_ARGS
。例如,當此處理元素未在其 supported_controls
中宣傳 CAN_CONTROL_FREQUENCY
時,嘗試變更 EQUALIZER
處理元素的 EqualizerBandState
frequency
。
非 SignalProcessing
通訊協定呼叫前後可能會呼叫 SetElementState
。如果在非 SignalProcessing
通訊協定呼叫之後呼叫,SetElementState
不一定需要重新交涉驅動程式庫狀態,因為要呼叫會組合 SignalProcessing
的通訊協定呼叫 (例如 Dai
)。舉例來說,SetElementState
變更處理元素的參數時,AGL
您不一定要重新協商 Dai
狀態,因為變更取得參數通常不會變更系統支援的音訊格式組合。
相反地,如果 SetElementState
變更 CONNECTION_POINT
元素的參數,則可能需要重新協商,因為變更可能會使先前的 GetDaiFormats
Dai
通訊協定呼叫中傳回的支援格式組合失效。
驅動程式庫則負責判斷是否需要重新協商。如果需要重新協商,SetElementState
必須傳回 ZX_ERR_BAD_STATE
,且用戶端必須關閉通訊協定管道,以便重新開始通訊協定交涉。接著,用戶端必須在任何非 SignalProcessing
通訊協定呼叫之前,發出傳回 ZX_ERR_BAD_STATE
的 SetElementState
呼叫。
要求
名稱 | 類型 |
---|---|
processing_element_id |
ElementId
|
state |
ElementState
|
回應
名稱 | 類型 |
---|---|
payload |
SignalProcessing_SetElementState_Result
|
SetTopology
將使用 ID 設為要使用的拓撲,以指定 GetTopologies
傳回的向量。目前的拓撲會透過 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
。除非 Element
資料表的任何欄位與 processing_element_id
最新回報的內容不同,否則驅動程式不會回應對 processing_element_id
的後續用戶端 WatchElementState
呼叫。如果再次呼叫此方法和處理_element_id 的待處理 WatchElementState
,則驅動程式會關閉錯誤為 ZX_ERR_BAD_STATE
的通訊協定管道。
要求
名稱 | 類型 |
---|---|
processing_element_id |
ElementId
|
回應
名稱 | 類型 |
---|---|
state |
ElementState
|
WatchTopology
透過等待中取得目前的拓撲。駕駛人會立即回覆每個用戶端傳送的第一則 WatchTopology
。在信號處理拓撲變更 (因為 SetTopology
呼叫而發生) 之前,驅動程式不會回應來自該用戶端的後續 WatchTopology
呼叫。如果在這個用戶端已有待處理的 WatchTopology
時再次呼叫這個方法,驅動程式會關閉錯誤為 ZX_ERR_BAD_STATE
的通訊協定管道。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
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
<EMPTY>
SignalProcessing_SetTopology_Response
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
<EMPTY>
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 |
延遲。 |
等化 |
10 |
等化器。 |
SAMPLE_RATE_CONVERSION |
11 |
取樣率轉換。 |
ENDPOINT |
12 |
管道的開始/結束。 新增時間:12 張
|
EndpointType 彈性
類型:uint8
定義於 fuchsia.hardware.audio.signalprocessing/endpoint.fidl
端點類型。
名稱 | 物超所值 | 說明 |
---|---|---|
RING_BUFFER |
1 |
端點代表環形緩衝區。環形緩衝區處理元素的 ID 允許提供 fuchsia.hardware.audio/Composite API 的驅動程式庫支援多環緩衝區拓撲。 |
DAI_INTERCONNECT |
2 |
端點代表數位音訊介面互連網路,例如將 SoC 音訊子系統連接至 DAC + 擴音器硬體轉碼器。 |
EqualizerBandType 彈性
類型:uint64
定義於 fuchsia.hardware.audio.signalprocessing/equalizer.fidl
等化器頻帶的類型。
名稱 | 物超所值 | 說明 |
---|---|---|
峰值 |
1 |
增加/減少 |
標記 |
2 |
拒絕狹窄的錶帶,大幅重視 |
LOW_CUT |
3 |
如要降低低於 |
HIGH_CUT |
4 |
使用 |
LOW_SHELF |
5 |
以高強度效果將增減 |
HIGH_SHELF |
6 |
以高強度效果將增減 |
GainDomain 彈性
類型:uint8
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
獲益的硬體領域,例如 ANALOG。
名稱 | 物超所值 | 說明 |
---|---|---|
數位 |
1 |
處理元素增益同樣適用於數位領域。 |
ANALOG |
2 |
處理元素增益集會在類比網域中套用。 |
混合 |
3 |
處理元素增益是使用數位和類比硬體。 |
GainType 嚴格
類型:uint8
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
獲取代表性類型。
名稱 | 物超所值 | 說明 |
---|---|---|
決策 |
1 |
分貝中指定的漲幅,例如 -103.0dB 或 +3.2dB。 |
PERCENT |
2 |
獲利金額是以百分比表示,例如 10.0% 或 80.5%。 |
LevelType strict
類型:uint8
定義於 fuchsia.hardware.audio.signalprocessing/dynamics.fidl
等級類型。
名稱 | 物超所值 | 說明 |
---|---|---|
峰值 |
1 |
等級增益處以峰值表示。 |
RMS |
2 |
指定為 RMS 的等級。 |
PlugDetectCapabilities 彈性
類型:uint32
定義於 fuchsia.hardware.audio.signalprocessing/endpoint.fidl
為端點插入偵測功能。
名稱 | 物超所值 | 說明 |
---|---|---|
軟硬體 |
0 |
端點採用有線連接 (一律連接)。 |
CAN_ASYNC_NOTIFY |
1 |
端點可能未接上電源並插上插頭,並以非同步方式通知插座狀態異動。 |
ThresholdType strict
類型:uint8
定義於 fuchsia.hardware.audio.signalprocessing/dynamics.fidl
門檻類型。
名稱 | 物超所值 | 說明 |
---|---|---|
前行 |
1 |
在高於門檻的情況下套用動態處理程序。 |
下方 |
2 |
套用低於門檻的動態處理程序。 |
資料表
動力學
定義於 fuchsia.hardware.audio.signalprocessing/dynamics.fidl
type
等於 DYNAMICS
的 Element
參數。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
bands |
vector<DynamicsBand>[64]
|
這個通訊協定中的 此為必要項目。至少要有一個項目。 |
2 |
supported_controls |
DynamicsSupportedControls
|
這個處理元素支援的控制項。 選用。 |
DynamicsBand
定義於 fuchsia.hardware.audio.signalprocessing/dynamics.fidl
Dynamics
元素頻帶的參數。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
id |
uint64
|
這個錶帶的專屬 ID,在對應的 必填。 |
DynamicsBandState
定義於 fuchsia.hardware.audio.signalprocessing/dynamics.fidl
Element
中的單一頻帶狀態,type
等於 DYNAMICS
。即使用戶端無法變更值,伺服器也可能包含控制頻帶欄位 (亦即未在 supported_controls
中設定位元)。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
id |
uint64
|
錶帶的專屬 ID。必須與 |
2 |
min_frequency |
uint32
|
錶帶的最小頻率 (以 Hz 為單位)。如果是單一頻帶動態處理,則此欄位可以是 0,藉此指定錶帶全範圍 (和 max_frequency)。 |
3 |
max_frequency |
uint32
|
錶帶的最大頻率 (以 Hz 為單位)。這個欄位可以是 Nyquist 頻率,舉例來說,如果是單一頻帶動態處理,進而指定錶帶位於整個範圍 (加上 min_frequency 設定) 值即可。 必填。 |
4 |
threshold_db |
float32
|
輸入 dB 中,動態主要處理開始超出的值 (取決於 必填。 |
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
|
連結的頻道 (即適用於 2 個管道系統的立體聲頻道)。 如未加入,就不會指定已連結頻道選項。如果為 true,動態回應會套用至所有管道。 如果設為 false,每個管道都有各自的動態回應。 選用。
如未在 |
DynamicsElementState
定義於 fuchsia.hardware.audio.signalprocessing/dynamics.fidl
type
等於 DYNAMICS
的 Element
狀態。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
band_states |
vector<DynamicsBandState>[64]
|
每個 ID 都必須與 |
元素
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
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
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
type_specific |
TypeSpecificElementState
|
如果納入,表示處理元素的特定類型狀態參數。 如果停用這個處理元素,且提供了類型專屬的狀態,則類型專屬狀態只會提供資訊。舉例來說,如果 選用。 |
2 |
enabled |
bool
|
處理元素啟用/停用狀態。選用。根據預設,系統會啟用處理元素。如果對應的 選用。 淘汰請改用 已淘汰:20
|
3 |
latency |
Latency
|
如果啟用這個處理元素,則管道會增加多少延遲時間。這個欄位不得出現在 選用。 |
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 位
|
端點
定義於 fuchsia.hardware.audio.signalprocessing/endpoint.fidl
type
等於 ENDPOINT
的 Element
參數。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
type |
EndpointType
|
指定端點所代表的意義。 必填。 |
2 |
plug_detect_capabilities |
PlugDetectCapabilities
|
插頭偵測功能。 必填。 |
EndpointElementState
定義於 fuchsia.hardware.audio.signalprocessing/endpoint.fidl
type
等於 ENDPOINT
的 Element
狀態。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
plug_state |
PlugState
|
如果包含插頭的此端點偵測狀態。 這個欄位不應在 伺服器必填。 |
等化器
定義於 fuchsia.hardware.audio.signalprocessing/equalizer.fidl
Element
的 type
等於 EQUALIZER
的參數。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
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
|
分貝最低增值。 這是選用元素,但如果 |
8 |
max_gain_db |
float32
|
增減幅度 (dB)。 這是選用元素,但如果 |
EqualizerBand
定義於 fuchsia.hardware.audio.signalprocessing/equalizer.fidl
等化器頻帶的參數。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
id |
uint64
|
這個錶帶的專屬 ID,在對應的 必填。 |
EqualizerBandState
定義於 fuchsia.hardware.audio.signalprocessing/equalizer.fidl
Element
中的單一頻帶狀態,type
等於 EQUALIZER
。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
id |
uint64
|
錶帶的專屬 ID。必須與 必填。 |
2 |
type |
EqualizerBandType
|
錶帶類型。 選用。 |
3 |
frequency |
uint32
|
錶帶中央頻率。 選用。 |
4 |
q |
float32
|
品質因素 (通常以「Q」表示)。 表示頻率轉換的範圍越小。Q 值越大,代表凹槽/峰值和剪裁/影片櫃越窄。必須為正數。 選用。 |
5 |
gain_db |
float32
|
增減 dB。 這是選用元素,但 |
6 |
enabled |
bool
|
啟用/停用錶帶。所有錶帶都會預設為啟用。將 選用。 |
EqualizerElementState
定義於 fuchsia.hardware.audio.signalprocessing/equalizer.fidl
type
等於 EQUALIZER
的 Element
狀態。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
2 |
band_states |
vector<EqualizerBandState>[64]
|
必填。 新增日期:20 位
|
漲幅
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
type
等於 GAIN
的 Element
參數。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
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
type
等於 GAIN
的 Element
狀態。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
gain |
float32
|
目前增加的幅度 ( 必填。 |
PlugState
定義於 fuchsia.hardware.audio.signalprocessing/endpoint.fidl
為端點插入狀態。如果驅動程式庫回報為 HARDWIRED 的 plug_detect_capabilities
,驅動程式庫只會在第一次針對指定端點呼叫時回應 WatchElementState
,並將 plugged
設為 true,plug_state_time
則設為時間「0」。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
plugged |
bool
|
端點目前已接上電源。 必要 |
2 |
plug_state_time |
zx/Time
|
時間戳記 (使用 必填。 |
拓撲學
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
Topology
會指定一種在硬體中排列的方式。
序數 | 廣闊 | 類型 | 說明 |
---|---|---|---|
1 |
id |
TopologyId
|
這個拓撲的專屬 ID。這個 ID 的範圍只在 必填。 |
2 |
processing_elements_edge_pairs |
vector<EdgePair>[64]
|
依此順序處理元素邊緣組合的向量。使用邊緣組合形式管道處理元素的順序。如要定義多個可能的管道,請在 必填。 |
VendorSpecific
如 fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl
type
等於 VENDOR_SPECIFIC
的 Element
參數。
序數 | 廣闊 | 類型 | 說明 |
---|
VendorSpecificState
如 fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl
type
等於 VENDOR_SPECIFIC
的 Element
狀態。
序數 | 廣闊 | 類型 | 說明 |
---|
聯合國
延遲時間彈性
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
latency_time |
zx/Duration
|
以 zx.Duration 的形式新增至管道的延遲時間。 |
2 |
latency_frames |
uint32
|
以影格數的形式新增至管道的延遲時間。 |
Reader_GetElements_Result 嚴格
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Reader_GetElements_Response
|
|
2 |
err |
zx/Status
|
Reader_GetTopologies_Result 嚴格
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Reader_GetTopologies_Response
|
|
2 |
err |
zx/Status
|
SignalProcessing_SetElementState_Result 嚴格
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
SignalProcessing_SetElementState_Response
|
|
2 |
err |
zx/Status
|
SignalProcessing_SetTopology_Result 嚴格
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
SignalProcessing_SetTopology_Response
|
|
2 |
err |
zx/Status
|
TypespecificElement 彈性
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
Element
的類型專屬參數。
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
vendor_specific |
VendorSpecific
|
|
2 |
gain |
Gain
|
|
3 |
equalizer |
Equalizer
|
|
4 |
dynamics |
Dynamics
|
|
5 |
endpoint |
Endpoint
|
新增時間:12 張
|
TypespecificElementState 彈性
定義於 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl
類型專屬的處理元素狀態。處理元素控制項的類型是由此聯集提供的參數類型定義。必須與對應的 Element
中對應 ElementType
項目傳回的類型相符。
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
vendor_specific |
VendorSpecificState
|
|
2 |
gain |
GainElementState
|
|
3 |
equalizer |
EqualizerElementState
|
|
4 |
dynamics |
DynamicsElementState
|
|
5 |
endpoint |
EndpointElementState
|
新增時間:12 張
|
帳單
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 位
|
EqualizerSupportedControls 彈性
類型: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
|
版本 |