專家
EffectsController
定義於 fuchsia.media.audio/effects_controller.fidl
UpdateEffect
將 config
訊息傳送至名為 effect_name
的音訊效果。如果伺服器基於任何原因關閉 EffectsController
連線,表示效果已重設,且與之前的 UpdateEffect
訊息相關聯的任何狀態均已遺失。想要重新套用狀態的用戶端應重新連線,並重新傳送任何所需的 UpdateEffect
訊息來回應。如果用戶端關閉連線,狀態就不會遺失,但用戶端也無法判斷與先前訊息相關的任何狀態是否已遺失,
如果名稱為 effect_name
的效果接受訊息,會傳回成功 (空白回應)。
如果找到名稱為 effect_name
的特效,但 config
訊息遭拒,就會傳回 UpdateEffectError.INVALID_CONFIG
。
如果找不到名稱為 effect_name
的特效,則傳回 UpdateEffectError.NOT_FOUND
。
要求
名稱 | 類型 |
---|---|
effect_name |
string[128]
|
config |
string
|
回應
名稱 | 類型 |
---|---|
payload |
EffectsController_UpdateEffect_Result
|
增益控制
定義於 fuchsia.media.audio/gain_control.fidl
可控管及監控音訊增益。這個介面通常會拆開其他介面。舉例來說,fuchsia.media.audio.Renderer
的 BindGainControl
方法會繫結至控制轉譯器再次控制的增益控制項。
OnOnMuteChanged 通知
通知客戶目前增減值的變化。
回應
名稱 | 類型 |
---|---|
gain_db |
float32
|
muted |
bool
|
設定增加
設定分貝的獲利。
要求
名稱 | 類型 |
---|---|
gain_db |
float32
|
設定增益
在指定的持續時間 (以毫秒為單位) 內,從目前值順利變更為指定值。如果「duration_ns」為 0,則會立即變更。否則,只有在串流執行期間才會進行變更。
之後呼叫 SetGet 即可取消任何進行中的或待處理的坡道。
一次最多只能有 1 個主動式坡道。所有使用中或待處理的 RAM 都會由之後呼叫 SetGetWithRamp (即使時間長度為 0) 取代。在這種情況下,增加的幅度會使用新的加/減速,從最新的 (中坡) 值直接移至新指定的值。
使用範例 (以秒為單位):
Time 0
SetGetWithRamp(MUTED_GAIN_DB
, 0, SCALE_LINEAR) // Ramp 1
SetGetGetRamp(0.0f, ZX_SEC
(4), SCALE_LINEAR) // Ramp 2
時間 3
PlayNoReply(kNoampTime 時間戳記, any_media_time)
時間 4
MUTED_GAIN_DB
時間 0:坡道 1 立即完成,將增益變更為 MUTED_GAIN_DB
。您目前未播放,因此坡度 2 尚未播放。時間 3,坡道 2 會從 MUTED_GAIN_DB
開始逐漸增加到 0 dB (比例 0.0=>1.0)。時間 4:坡道 2 暫停 (還剩 3 秒)。根據 SCALE_LINEAR
,縮放為約 0.25。時間 7:坡道 2 會從最新的值繼續執行至目標。時間 8:坡道 3 會取代 RAM 2,並從目前的縮放比例開始 (約 0.5)。時間 9:坡道 3 完成;目前的比例值現在是 0.0 (MUTED_GAIN_DB
)。
要求
名稱 | 類型 |
---|---|
gain_db |
float32
|
duration |
zx/Duration
|
rampType |
RampType
|
設定靜音
設定靜音值。適應期和靜音是完全獨立的,但都會影響套用的資源調度。
要求
名稱 | 類型 |
---|---|
muted |
bool
|
音量控制
定義於 fuchsia.media.audio/Volume_control.fidl
控制磁碟區的通訊協定。
已變更 OnVolumeMute
會在音訊元素的音量或靜音狀態變更時發出。
回應
名稱 | 類型 |
---|---|
new_volume |
float32
|
new_muted |
bool
|
設定靜音
設定是否將控制的元素設為靜音。靜音與將音量設為 0.0 不同,音量在靜音期間會保持不變。如果在靜音前音量為 0.5,則在取消靜音時將繼續音量 0.5。
要求
名稱 | 類型 |
---|---|
mute |
bool
|
設定音量
將音訊元素的音量設為 [0.0, 1.0] 中的指定值。如果提供的值不在 [0.0, 1.0] 之外,系統會在套用值前限制值。
要求
名稱 | 類型 |
---|---|
volume |
float32
|
結構
EffectsController_UpdateEffect_Response
定義於 fuchsia.media.audio/effects_controller.fidl
<空白>
表情符號
RampType 嚴格
類型:uint16
定義於 fuchsia.media.audio/gain_control.fidl
列舉提升控制坡道類型。
名稱 | 值 | 說明 |
---|---|---|
序列 |
1 |
在適應期內,以固定速率的變化。 |
UpdateEffectError 嚴格
類型:uint32
定義於 fuchsia.media.audio/effects_controller.fidl
名稱 | 值 | 說明 |
---|---|---|
無效設定 |
1 |
|
未找到 |
2 |
聯合國
EffectsController_UpdateEffect_Result strict
定義於 fuchsia.media.audio/effects_controller.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
EffectsController_UpdateEffect_Response
|
|
2 |
err |
UpdateEffectError
|
場景
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
MAX_effective_NAME_LENGTH |
128
|
uint32 |
|
MAX_GAIN_DB |
24
|
float32 |
允許的最大獲利值。 |
最大音量 |
1
|
float32 |
音量值代表最大音量。 |
MIN_VOLUME |
0
|
float32 |
代表靜音的音量值。 |
MUTED_GAIN_DB |
-160
|
float32 |
創造靜音,創造價值。取得的值可以小於這個值,但產生的效果與這個值相同。 |