用于在设备之间路由媒体的协议库。
此库基于“目标”,即可呈现媒体会话的设备或设备组。如需了解媒体会话详情,请参阅 fuchsia.media.sessions2
。
通过 Discovery
协议,客户端可以发现网络上可用的媒体目标,并选择这些目标以呈现媒体会话。
协议
发现
在 fuchsia.media.target/target_discovery.fidl 中定义
用于发现媒体目标的协议。
BindGroupTarget
在 target_ids
指定的目标集上呈现由 session_id
指定的媒体会话。
这可能会创建一个新的组目标,如果该目标不存在,系统会将所有指定目标都作为成员包含在内。组目标可能是临时的,仅在播放生命周期内存在,无法通过 Discovery
发现。
请求
名称 | 类型 |
---|---|
session_id |
fuchsia.media.sessions2/SessionId
|
target_ids |
vector<uint64>[100]
|
响应
名称 | 类型 |
---|---|
payload |
Selector_BindGroupTarget_Result
|
BindTarget
在 target_id
指定的目标上渲染 session_id
指定的媒体会话。
请求
名称 | 类型 |
---|---|
session_id |
fuchsia.media.sessions2/SessionId
|
target_id |
Id
|
响应
名称 | 类型 |
---|---|
payload |
Selector_BindTarget_Result
|
ConnectToTarget
根据 ID 连接到目标。如果给定渠道不存在此类目标,则会删除相应渠道。
请求
名称 | 类型 |
---|---|
target_id |
Id
|
target_request |
server_end<Target>
|
WatchSessionBindings
监视媒体会话到目标的绑定。
媒体会话会在其所绑定的目标上呈现。
绑定会在监视调用之间以增量形式返回,让请求保持挂起状态以获取最新更新。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
event |
SessionBindingsWatchEvent
|
WatchTargets
监控已注册目标集的更改。让请求保持挂起状态,以便在发生更改时获得回复。新客户将及时了解世界形势。
目标以监视调用之间的增量形式返回。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
targets_watch_event |
TargetsWatchEvent
|
组
在 fuchsia.media.target/target_discovery.fidl 中定义
用于监控群组成员的协议。
WatchTargets
监控已注册目标集的更改。让请求保持挂起状态,以便在发生更改时获得回复。新客户将及时了解世界形势。
目标以监视调用之间的增量形式返回。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
targets_watch_event |
TargetsWatchEvent
|
GroupEditor
在 fuchsia.media.target/target_discovery.fidl 中定义
用于添加和移除群组目标成员的协议。
AddTarget
向此组目标添加目标。
如果添加的目标是一组设备,则该组中的所有设备都会添加到该组中。群组本身不能是群组的成员。
如果创建了新组来处理此请求,则返回新目标的 ID。
请求
名称 | 类型 |
---|---|
target_id |
Id
|
响应
名称 | 类型 |
---|---|
payload |
GroupEditor_AddTarget_Result
|
RemoveTarget
从该组中移除目标。如果创建了新组来处理此请求,则返回新目标的 ID。
请求
名称 | 类型 |
---|---|
target_id |
Id
|
响应
名称 | 类型 |
---|---|
payload |
GroupEditor_RemoveTarget_Result
|
选择器
在 fuchsia.media.target/target_discovery.fidl 中定义
用于选择媒体目标的协议。基于此协议的命令可以更改呈现媒体会话的目标。
BindGroupTarget
在 target_ids
指定的目标集上呈现由 session_id
指定的媒体会话。
这可能会创建一个新的组目标,如果该目标不存在,系统会将所有指定目标都作为成员包含在内。组目标可能是临时的,仅在播放生命周期内存在,无法通过 Discovery
发现。
请求
名称 | 类型 |
---|---|
session_id |
fuchsia.media.sessions2/SessionId
|
target_ids |
vector<uint64>[100]
|
响应
名称 | 类型 |
---|---|
payload |
Selector_BindGroupTarget_Result
|
BindTarget
在 target_id
指定的目标上渲染 session_id
指定的媒体会话。
请求
名称 | 类型 |
---|---|
session_id |
fuchsia.media.sessions2/SessionId
|
target_id |
Id
|
响应
名称 | 类型 |
---|---|
payload |
Selector_BindTarget_Result
|
目标
在 fuchsia.media.target/target_discovery.fidl 中定义
目标是指可以呈现媒体的一个或一组设备,例如呈现音频的音响设备。
AddTarget
向此组目标添加目标。
如果添加的目标是一组设备,则该组中的所有设备都会添加到该组中。群组本身不能是群组的成员。
如果创建了新组来处理此请求,则返回新目标的 ID。
请求
名称 | 类型 |
---|---|
target_id |
Id
|
响应
名称 | 类型 |
---|---|
payload |
GroupEditor_AddTarget_Result
|
BindMemberVolumeControl
作为指定组的成员绑定到目标的音量控件。 如果目标不是群组的成员,请求渠道会被丢弃。
仅当此目标以群组成员的身份参与时,此音量控件才会影响此目标的音量。这用于调整群组成员之间的数量平衡。这些设置会在目标的整个生命周期内持续有效
请求
名称 | 类型 |
---|---|
group |
Id
|
volume_control_request |
server_end<fuchsia.media.audio/VolumeControl>
|
BindVolumeControl
绑定到目标的音量控件。如果此目标是一个组,则所有成员量都会受到影响。这些设置会在目标的整个生命周期内持续有效。
请求
名称 | 类型 |
---|---|
volume_control_request |
server_end<fuchsia.media.audio/VolumeControl>
|
RemoveTarget
从该组中移除目标。如果创建了新组来处理此请求,则返回新目标的 ID。
请求
名称 | 类型 |
---|---|
target_id |
Id
|
响应
名称 | 类型 |
---|---|
payload |
GroupEditor_RemoveTarget_Result
|
WatchTargets
监控已注册目标集的更改。让请求保持挂起状态,以便在发生更改时获得回复。新客户将及时了解世界形势。
目标以监视调用之间的增量形式返回。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
targets_watch_event |
TargetsWatchEvent
|
VolumeControl
在 fuchsia.media.target/target_discovery.fidl 中定义
用于控制目标音量的协议。
BindMemberVolumeControl
作为指定组的成员绑定到目标的音量控件。 如果目标不是群组的成员,请求渠道会被丢弃。
仅当此目标以群组成员的身份参与时,此音量控件才会影响此目标的音量。这用于调整群组成员之间的数量平衡。这些设置会在目标的整个生命周期内持续有效
请求
名称 | 类型 |
---|---|
group |
Id
|
volume_control_request |
server_end<fuchsia.media.audio/VolumeControl>
|
BindVolumeControl
绑定到目标的音量控件。如果此目标是一个组,则所有成员量都会受到影响。这些设置会在目标的整个生命周期内持续有效。
请求
名称 | 类型 |
---|---|
volume_control_request |
server_end<fuchsia.media.audio/VolumeControl>
|
结构
GroupEditor_AddTarget_Response
在 fuchsia.media.target/target_discovery.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
target_change |
TargetChange?
|
无默认值 |
GroupEditor_RemoveTarget_Response
在 fuchsia.media.target/target_discovery.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
target_change |
TargetChange?
|
无默认值 |
Selector_BindGroupTarget_Response
在 fuchsia.media.target/target_discovery.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
target_id |
Id
|
无默认值 |
Selector_BindTarget_Response
在 fuchsia.media.target/target_discovery.fidl 中定义
<EMPTY>
SessionBinding
在 fuchsia.media.target/target_discovery.fidl 中定义
会话与目标之间的绑定,表示媒体会话在目标上呈现。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
session_id |
fuchsia.media.sessions2/SessionId
|
无默认值 | |
target_id |
Id
|
无默认值 |
TargetChange
在 fuchsia.media.target/target_discovery.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
new_target_id |
Id
|
无默认值 |
枚举
错误严格
类型:uint32
在 fuchsia.media.target/target_discovery.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
NOT_A_GROUP |
0 |
|
UNKNOWN_ON_DOMAIN |
1 |
|
CANNOT_BE_GROUPED |
2 |
|
NOT_MEMBER_OF_GROUP |
3 |
|
TRANSFER_FROM_TARGET_UNSUPPORTED |
4 |
|
TRANSFER_TO_TARGET_UNSUPPORTED |
5 |
|
MULTI_TARGET_PLAYBACK_UNSUPPORTED |
6 |
表格
说明
在 fuchsia.media.target/target_discovery.fidl 中定义
目标的说明。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
target_id |
Id
|
标识目标。 |
2 |
capability_flags |
CapabilityFlags
|
设备支持的互操作性功能的枚举。 |
3 |
display_name |
DisplayName
|
|
4 |
metadata |
fuchsia.media/Metadata
|
SessionBindingsWatchEvent
在 fuchsia.media.target/target_discovery.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
updated |
vector<SessionBinding>
|
随时在网络中添加或更新的活动会话绑定的列表。 |
2 |
removed |
vector<SessionBinding>
|
通知后从网络中移除的会话绑定的列表。 |
TargetsWatchEvent
在 fuchsia.media.target/target_discovery.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
updated |
vector<Description>
|
随时在广告网络中添加或更新的目标。 |
2 |
removed |
vector<uint64>
|
自上次通知后移除的目标。 |
联合
GroupEditor_AddTarget_Result 严格
在 fuchsia.media.target/target_discovery.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
GroupEditor_AddTarget_Response
|
|
2 |
err |
Error
|
GroupEditor_RemoveTarget_Result 严格
在 fuchsia.media.target/target_discovery.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
GroupEditor_RemoveTarget_Response
|
|
2 |
err |
Error
|
Selector_BindGroupTarget_Result 严格
在 fuchsia.media.target/target_discovery.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Selector_BindGroupTarget_Response
|
|
2 |
err |
Error
|
Selector_BindTarget_Result 严格
在 fuchsia.media.target/target_discovery.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Selector_BindTarget_Response
|
|
2 |
err |
Error
|
BITS
CapabilityFlags 严格
类型:uint64
在 fuchsia.media.target/target_discovery.fidl 中定义
目标的功能。
名称 | 值 | 说明 |
---|---|---|
TRANSFER_TO |
1 | 表示目标可以接收来自另一个目标的媒体会话传输。 |
TRANSFER_FROM |
2 | 表示目标可以将媒体会话传输到其他目标。 |
MULTI_TARGET_PLAYBACK |
4 | 表示目标可以与其他设备一起渲染媒体。 |
视频 |
8 | 表示目标可以呈现视频。 |
别名
名称 | 值 | 说明 |
---|---|---|
DisplayName |
string [200 ] |
要在界面中显示或在语音界面中读取的目标的用户可见名称。 |
ID |
uint64 |
目标的唯一 ID。 |