Fuchsia.media.audio

添加数量:7

协议

效果控制器

fuchsia.media.audio/effects_controller.fidl 中定义

UpdateEffect

向名为 effect_name 的音效发送 config 消息。如果服务器出于任何原因关闭 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 方法,该方法会绑定到用于控制渲染程序增益的增益控件。

收益静音已更改

通知客户端当前增益/静音值的变化。

回复

名称类型
gain_db float32
muted bool

设置增益

设置增益(以分贝为单位)。

请求

名称类型
gain_db float32

通过 Ramp 设置增益

在指定的持续时间(以毫秒为单位)内,平滑地将增益从当前值更改为指定值。如果“duration_ns”为 0,增益会立即发生变化。否则,请仅在音频流运行时增益。

后续调用 SetGenerate 会取消任何进行中的或待处理的提升。

任何时候最多只能有 1 个有效坡道。任何进行中的或等待的坡道会替换为稍后对 SetGenerateWithRamp 的调用(即使时长为 0)。在这种情况下,增益将使用新的加/减速选项,在新的时长内直接从其最新的(梯度中间)值上升到新指定的值。

用法示例(使用以秒为单位的时间): Time 0 SetRaiseWithRamp(MUTED_GAIN_DB, 0, SCALE_LINEAR) // Ramp 1 SetRaiseWithRamp(0.0f, ZX_SEC(4), SCALE_LINEAR) // Ramp 2 Time 3 PlayNoReply(kNoTimestamp, any_media_time) Time 4 PauseNoReply(kNoTimestamp, any_media_time) Time 4 PauseNoReply7, any_media_time) Time 4 PauseNoReply7,any_media_time) 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 取代了 Ramp 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 中定义

用于控制音量的协议。

OnVolumeMuteChanged

在音频元素的音量或静音状态发生变化时触发。

回复

名称类型
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 严格

fuchsia.media.audio/effects_controller.fidl 中定义

序数变体类型说明
response EffectsController_UpdateEffect_Response
err UpdateEffectError

常量

名称类型说明
MAX_EFFECT_NAME_LENGTH 128 uint32
MAX_GAIN_DB 24 float32

允许的最大增益值。

MAX_VOLUME 1 float32

表示最大音量的音量值。

MIN_VOLUME 0 float32

表示无声的音量值。

MUTED_GAIN_DB -160 float32

制造沉默,收获价值。允许小于此值的增益值,但效果与此值相同。