fuchsia.audio.controller

此库包含 ffx audio 工具使用的协议。

添加了:HEAD

协议

DeviceControl

fuchsia.audio.controller/device.fidl 中定义

枚举、查询和控制来自客户端的音频设备。

DeviceSetGainState

设置音频流的增益(以分贝为单位)。

请求

名称类型
payload DeviceControlDeviceSetGainStateRequest

响应

名称类型
payload DeviceControl_DeviceSetGainState_Result

参赛选手

fuchsia.audio.controller/play.fidl 中定义

Play

从 WAV 格式的套接字中读取音频数据并将其播放到目的地。

从套接字中读取所有字节后返回。

请求

名称类型
payload PlayerPlayRequest

响应

名称类型
payload Player_Play_Result

RecordCanceler

fuchsia.audio.controller/record.fidl 中定义

取消 Recorder.Record 请求。

取消

停止在输出套接字上记录和写入数据。

请求

<EMPTY>

响应

名称类型
payload RecordCanceler_Cancel_Result

记录器

fuchsia.audio.controller/record.fidl 中定义

录制

录制音频数据,并以 WAV 格式将其写入套接字。

请求

名称类型
payload RecorderRecordRequest

响应

名称类型
payload Recorder_Record_Result

结构

Devfs

fuchsia.audio.controller/device.fidl 中定义

野战类型说明默认
name fuchsia.io/Name

此设备的 devfs 节点的名称,例如 3d99d780

无默认取景方式
device_type fuchsia.audio.device/DeviceType

设备类型。

无默认取景方式

DeviceControl_DeviceSetGainState_Response

fuchsia.audio.controller/device.fidl 中定义

<EMPTY>

DeviceRingBuffer

fuchsia.audio.controller/device.fidl 中定义

标识用于播放/录制的设备环形缓冲区。

野战类型说明默认
selector DeviceSelector

具有环形缓冲区的设备。

无默认取景方式
ring_buffer_element_id fuchsia.hardware.audio.signalprocessing/ElementId

所需环形缓冲区的 ENDPOINT(类型为 RING_BUFFER)信号处理元素的 ID。

对于 Dai 和 StreamConfig 设备,该参数应为 fuchsia.audio.device.DEFAULT_RING_BUFFER_ELEMENT_ID

无默认取景方式

灵活

fuchsia.audio.controller/settings.fidl 中定义

<EMPTY>

环回

fuchsia.audio.controller/record.fidl 中定义

<EMPTY>

RecordCanceler_Cancel_Response

fuchsia.audio.controller/record.fidl 中定义

<EMPTY>

SystemMonotonic

fuchsia.audio.controller/settings.fidl 中定义

<EMPTY>

UltrasoundCapturer

fuchsia.audio.controller/record.fidl 中定义

<EMPTY>

枚举

错误:柔性环境

类型:uint32

fuchsia.audio.controller/types.fidl 中定义

fuchsia.audio.controller 方法的错误代码。

名称说明
1

该操作未实现、不受支持或未启用。

2

发生了一些无法使用某个更具体的状态进行分类的其他问题。今后向此方法发出的请求也将失败。

3

发生了一些其他问题,但有理由相信此操作将来可能会成功。客户端可以重试此请求。

4

请求中缺少必要参数。

5

请求中的参数不受支持。

6

找不到与客户端请求参数匹配的设备。

7

无法连接到指定位置的设备。

CustomClockConfig

fuchsia.audio.controller/settings.fidl 中定义

序数野战类型说明
rate_adjust int32

对系统单调时钟克隆的频率调整(以百万分率表示),相对于系统单调速率。

必须在 [ZX_CLOCK_UPDATE_MIN_RATE_ADJUST, ZX_CLOCK_UPDATE_MAX_RATE_ADJUST] 的范围内。 如需了解详情,请参阅 zx_clock_update

可选。如果未指定,则使用参考时钟的默认频率。

offset int32

传递到 AudioRenderer 或 Capturer 的参考时钟与系统单调时钟之间的起始增量。

可选。如果未指定,参考时钟偏移保持不变。

DeviceControlDeviceSetGainStateRequest 资源

fuchsia.audio.controller/device.fidl 中定义

序数野战类型说明
device DeviceSelector

用于设置增益状态的设备的 ID。

必选。

gain_state fuchsia.hardware.audio/GainState

期望增益状态。

必选。

GainSettings

fuchsia.audio.controller/settings.fidl 中定义

增益设置。

序数野战类型说明
mute bool

是否将音频流静音。如果未指定,请勿调整现有的静音值。

可选。

gain float32

增益水平(以 dB 为单位)。如果未指定,请勿调整音频流或设备增益。

可选。

PlayerPlayRequest 资源

fuchsia.audio.controller/play.fidl 中定义

序数野战类型说明
wav_source handle<socket>

供客户端以 WAV 格式发送音频数据的套接字。

客户端应传输整个文件,然后关闭套接字。

必选。

destination PlayDestination

音频播放目的地。

必选。

gain_settings GainSettings

Play 设置。

可选。如果未指定,则使用取消静音的单位增益且未启用其他增益处理。

Player_Play_Response 资源

fuchsia.audio.controller/play.fidl 中定义

序数野战类型说明
bytes_processed uint64

发送到目标位置的总字节数。

RecorderRecordRequest 资源

fuchsia.audio.controller/record.fidl 中定义

序数野战类型说明
source RecordSource

需从哪个来源录制音频。

必选。

stream_type fuchsia.media/AudioStreamType

用于录制音频的流格式。

必选。

duration zx/Duration

录制音频数据的时长(以纳秒为单位)。

如果未指定,Recorder 将记录数据并将其写入套接字,直到在 canceler 上收到停止信号。

如果存在,仍可以通过 canceler 取消该记录请求。

可选。

canceler server_end<RecordCanceler>

一个句柄,用于表示何时停止将数据发送回客户端。

必选。

gain_settings GainSettings

录制增益设置。

仅用于 capturerloopback 来源。

可选。

buffer_size uint64

缓冲区空间。

可选。如果未指定,则默认采用足以容纳一秒音频数据的大小。

wav_data handle<socket>

音频数据的接收器。

此处捕获的数据将作为完整的 WAV 文件写入此处。

必选。

Recorder_Record_Response 资源

fuchsia.audio.controller/record.fidl 中定义

序数野战类型说明
bytes_processed uint64

从来源读取的总字节数。

packets_processed uint64

AudioCapturer 读取的数据包数量(如果适用)。

late_wakeups uint64

捕获器唤醒太晚而无法从设备读取有效数据的次数(如果适用)。

如果此字段为非零值,则表示某些数据已丢失,并替换为无声值。

StandardCapturerConfig

fuchsia.audio.controller/record.fidl 中定义

序数野战类型说明
usage fuchsia.media/AudioCaptureUsage

音频流的使用。

必选。

clock ClockType

流使用的参考时钟类型。

可选。如果未指定,将使用捕获器提供的默认参考时钟。

StandardRendererConfig

fuchsia.audio.controller/play.fidl 中定义

序数野战类型说明
usage fuchsia.media/AudioRenderUsage

音频流的使用。

必选。

clock ClockType

流使用的参考时钟类型。

可选。如果未指定,将使用渲染程序提供的默认参考时钟。

packet_count uint32

AudioRenderer 发送数据时要使用的数据包数量。

可选。如果未指定,则默认为四个数据包。

UltrasoundRendererConfig

fuchsia.audio.controller/play.fidl 中定义

序数野战类型说明
packet_count uint32

AudioRenderer 发送数据时要使用的数据包数量。

可选。如果未指定,则默认为四个数据包。

联合

CapturerConfig 灵活

fuchsia.audio.controller/record.fidl 中定义

序数变体类型说明
standard_capturer StandardCapturerConfig

AudioCapturer 表示标准频率。

ultrasound_capturer UltrasoundCapturer

AudioCapturer 表示超声波频率。

ClockType 灵活

fuchsia.audio.controller/settings.fidl 中定义

AudioRendererAudioCapturer 的参考时钟选项。

序数变体类型说明
flexible Flexible

使用灵活的时钟。

system_monotonic SystemMonotonic

使用系统单调时钟。

custom CustomClockConfig

使用单调时钟,该时钟可以相对于系统单调时钟进行速率调整和偏移。

DeviceControl_DeviceSetGainState_Result 严格

fuchsia.audio.controller/device.fidl 中定义

序数变体类型说明
response DeviceControl_DeviceSetGainState_Response
err zx/Status
framework_err internal

DeviceSelector 灵活

fuchsia.audio.controller/device.fidl 中定义

标识音频设备。

序数变体类型说明
devfs Devfs

devfs 中的驱动程序节点,例如 /dev/class/audio-input/3d99d780

registry fuchsia.audio.device/TokenId

通过 fuchsia.audio.device/Registry 协议支持的设备。

PlayDestination 灵活

fuchsia.audio.controller/play.fidl 中定义

序数变体类型说明
renderer RendererConfig

使用 audio_core API 创建 AudioRenderer 并通过它播放音频。

device_ring_buffer DeviceRingBuffer

设备环形缓冲区。

Player_Play_Result 严格 资源

fuchsia.audio.controller/play.fidl 中定义

序数变体类型说明
response Player_Play_Response
err Error
framework_err internal

RecordCanceler_Cancel_Result 严格

fuchsia.audio.controller/record.fidl 中定义

序数变体类型说明
response RecordCanceler_Cancel_Response
err zx/Status

RecordSource 灵活

fuchsia.audio.controller/record.fidl 中定义

序数变体类型说明
capturer CapturerConfig

audio_core AudioCapturer 协议连接。

loopback Loopback

audio_core AudioCapturer 协议连接,已启用环回。

device_ring_buffer DeviceRingBuffer

设备环形缓冲区。

Recorder_Record_Result 严格 资源

fuchsia.audio.controller/record.fidl 中定义

序数变体类型说明
response Recorder_Record_Response
err Error
framework_err internal

RendererConfig 灵活

fuchsia.audio.controller/play.fidl 中定义

序数变体类型说明
standard_renderer StandardRendererConfig

标准频率的渲染程序。

ultrasound_renderer UltrasoundRendererConfig

超声波频率渲染程序。