协议
参赛选手
在 fuchsia.media.sounds/sound_player.fidl 中定义
允许客户端播放发烧声。
添加声音缓冲区
以包含原始 PCM 样本的缓冲区的形式将声音添加到为客户端维护的集合中。服务将保留缓冲区 VMO 的句柄,直到声音被移除且不再播放,或者连接关闭为止。
如果 id
识别出该集合中已有的声音,该服务将关闭连接。
请求
名称 | 类型 |
---|---|
id |
uint32
|
buffer |
fuchsia.mem/Buffer
|
stream_type |
fuchsia.media/AudioStreamType
|
添加音效
将声音添加到为客户端维护的集合中,从文件中读取声音。如果 id
识别出该集合中已有的声音,该服务将关闭连接。返回声音时长或从 I/O 操作返回的错误状态。
目前仅支持 PCM WAV 文件和 Ogg/Opus 文件。
请求
名称 | 类型 |
---|---|
id |
uint32
|
file |
fuchsia.io/File
|
回复
名称 | 类型 |
---|---|
payload |
Player_AddSoundFromFile_Result
|
Play 音效
使用用法为 usage
的渲染程序播放由 id
标识的现有声音。系统会尽快播放声音。回复会在声音播放完毕后发送。
如果 id
无法识别集合中的现有声音,该方法会返回 PlaySoundError.NO_SUCH_SOUND
。可以使用 StopPlayingSound
停止对指定有效 ID 的最新 PlaySound
调用,在这种情况下,此方法会返回 PlaySoundError.STOPPED
。
请求
名称 | 类型 |
---|---|
id |
uint32
|
usage |
fuchsia.media/AudioRenderUsage
|
回复
名称 | 类型 |
---|---|
payload |
Player_PlaySound_Result
|
移除音效
从为客户端维护的集合中移除声音。即使有 PlaySound
方法等待处理某个声音,该声音也可以被移除。
如果 id
无法识别集合中的现有声音,该服务将不执行任何操作。这是容忍的,这样客户端就无需等待来自 AddSoundFromFile
的响应即可播放和移除声音。
移除不需要的声音会释放与该声音关联的资源,主要是存储未压缩声音所需的 VMO。
请求
名称 | 类型 |
---|---|
id |
uint32
|
停止播放声音
停止播放最近对该声音的 PlaySound
调用所调用的 id
所识别的声音。如果 id
未识别出集合中的现有声音,或者该声音当前未在播放,则此方法不会执行任何操作。如果有多个 PlaySound
方法当前正在等待处理该声音,则只会停止最新的方法。
请求
名称 | 类型 |
---|---|
id |
uint32
|
结构
Player_AddSoundFromFile_Response(播放器添加声音来自文件响应)
在 fuchsia.media.sounds/sound_player.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
duration |
zx/Duration
|
无默认值 |
Player_PlaySound_Response
在 fuchsia.media.sounds/sound_player.fidl 中定义
<空>
枚举
PlaySoundError 严格
类型:uint32
在 fuchsia.media.sounds/sound_player.fidl 中定义
Player.PlaySound
的错误类型。
名称 | 值 | 说明 |
---|---|---|
NO_SUCH_SOUND |
1 |
无法识别传递给 |
RENDERER_FAILED |
2 |
底层音频渲染程序运行失败。 |
已停止 |
3 |
声音播放被 |StopPlayingSound| 方法调用中断。 |
联合
Player_AddSoundFromFile_Result 严格
在 fuchsia.media.sounds/sound_player.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Player_AddSoundFromFile_Response
|
|
2 |
err |
zx/Status
|
Player_PlaySound_Result 严格
在 fuchsia.media.sounds/sound_player.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Player_PlaySound_Response
|
|
2 |
err |
PlaySoundError
|