协议
ElementarySource
在 fuchsia.media.playback/source_manager.fidl 中定义
Source
变体,用于直接向播放器提供基本流。
AddBinding
向此 ElementarySource
添加新的绑定。通过使用此方法,即使调用 SourceManager.SetSource
会消耗一个通道,客户端也可以获得一个额外的通道来与此 ElementarySource
通信。
请求
名称 | 类型 |
---|---|
source_request |
server_end:ElementarySource
|
AddStream
添加基本信息流。您可以通过关闭 SimpleStreamSink
来移除基元串流。ticks_per_second_numerator
和 ticks_per_second_denominator
指示将用于 Streampacket
时间戳值的单位。例如,对于纳秒单位,ticks_per_second_numerator
应为 1000000000,ticks_per_second_denominator
应为 1。如需针对 48k 音频使用帧作为单位,ticks_per_second_numerator
应为 48000,ticks_per_second_denominator
应为 1。
请求
名称 | 类型 |
---|---|
type |
fuchsia.media/StreamType
|
ticks_per_second_numerator |
uint32
|
ticks_per_second_denominator |
uint32
|
sink_request |
server_end:fuchsia.media/SimpleStreamSink
|
OnStatusChanged
响应
名称 | 类型 |
---|---|
source_status |
SourceStatus
|
玩家
在 fuchsia.media.playback/player.fidl 中定义
播放媒体内容。
AddBinding
向此播放器添加新的绑定。
请求
名称 | 类型 |
---|---|
player_request |
server_end:Player
|
BindGainControl
绑定到此播放器的增益控制。
请求
名称 | 类型 |
---|---|
gain_control_request |
server_end:fuchsia.media.audio/GainControl
|
CancelSourceTransition
取消待处理的转换,返回源。如果系统未 待处理,则请求渠道已关闭。
请求
名称 | 类型 |
---|---|
returned_source_request |
server_end:Source
|
CreateElementarySource
创建一个源,以允许客户端向播放器提供独立的基本串流。duration_ns、can_pause、can_seek 和 metadata 都包含在 SourceStatus 中,当播放器使用 ElementarySource
时,也包含在 PlayerStatus
中。can_pause
和 can_seek
为 false 时,会限制玩家的功能。
请求
名称 | 类型 |
---|---|
duration_ns |
zx/Duration
|
can_pause |
bool
|
can_seek |
bool
|
metadata |
fuchsia.media/Metadata?
|
source_request |
server_end:ElementarySource
|
CreateFileSource
创建从文件读取的来源。
请求
名称 | 类型 |
---|---|
file_channel |
handle<channel>
|
source_request |
server_end:Source
|
CreateReaderSource
创建一个从 SeekingReader
读取数据的来源。
请求
名称 | 类型 |
---|---|
seeking_reader |
client_end:SeekingReader
|
source_request |
server_end:Source
|
CreateView
创建视频观看。
请求
名称 | 类型 |
---|---|
view_token |
fuchsia.ui.views/ViewToken
|
OnStatusChanged
在绑定后立即提供当前状态,并在状态发生变化后提供当前状态。
响应
名称 | 类型 |
---|---|
player_status |
PlayerStatus
|
暂停
暂停播放。
请求
<EMPTY>
播放
开始播放。
请求
<EMPTY>
进度
跳转至指定位置(以纳秒为单位)。
请求
名称 | 类型 |
---|---|
position |
int64
|
SetFileSource
设置要读取的文件通道。
请求
名称 | 类型 |
---|---|
file_channel |
handle<channel>
|
SetFileSourceWithOptions
设置要从中读取数据的文件通道。
请求
名称 | 类型 |
---|---|
file_channel |
handle<channel>
|
options |
PlayerOptions
|
SetPlaybackRate
设置播放器播放时要使用的速率。rate
必须为正值。通过
PlayerStatus
的 timeline_function
字段表示玩家在游戏发生时的实际速率
正在播放。
请求
名称 | 类型 |
---|---|
playback_rate |
float32
|
SetSource
设置该播放器要使用的来源。如果来源为 null,播放器 进入空闲状态。
请求
名称 | 类型 |
---|---|
source |
client_end:Source?
|
TransitionToSource
播放当前来源时转换为指定来源 达到 transition_pts 时。新源从 start_pts 开始播放。如果 某个转换已处于待处理状态,该转换将被舍弃,取而代之的是新的 过渡效果。
请求
名称 | 类型 |
---|---|
source |
client_end:Source
|
transition_pts |
int64
|
start_pts |
int64
|
SeekingReader
在 fuchsia.media.playback/seeking_reader.fidl 中定义
描述
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
status |
zx/Status
|
size |
uint64
|
can_seek |
bool
|
ReadAt
请求
名称 | 类型 |
---|---|
position |
uint64
|
响应
名称 | 类型 |
---|---|
status |
zx/Status
|
socket |
handle<socket>?
|
来源
在 fuchsia.media.playback/source_manager.fidl 中定义
可供播放器使用的内容来源。
OnStatusChanged
响应
名称 | 类型 |
---|---|
source_status |
SourceStatus
|
SourceManager
在 fuchsia.media.playback/source_manager.fidl 中定义
代表玩家管理来源。
CancelSourceTransition
取消待处理的转换,返回源。如果系统未 待处理,则请求渠道已关闭。
请求
名称 | 类型 |
---|---|
returned_source_request |
server_end:Source
|
CreateElementarySource
创建一个源,以允许客户端向播放器提供独立的基本串流。duration_ns、can_pause、can_seek 和 metadata 都包含在 SourceStatus 中,当播放器使用 ElementarySource
时,也包含在 PlayerStatus
中。can_pause
和 can_seek
为 false 时,会限制玩家的功能。
请求
名称 | 类型 |
---|---|
duration_ns |
zx/Duration
|
can_pause |
bool
|
can_seek |
bool
|
metadata |
fuchsia.media/Metadata?
|
source_request |
server_end:ElementarySource
|
CreateFileSource
创建从文件读取的来源。
请求
名称 | 类型 |
---|---|
file_channel |
handle<channel>
|
source_request |
server_end:Source
|
CreateReaderSource
创建一个从 SeekingReader
读取数据的来源。
请求
名称 | 类型 |
---|---|
seeking_reader |
client_end:SeekingReader
|
source_request |
server_end:Source
|
SetSource
设置该播放器要使用的来源。如果来源为 null,播放器 进入空闲状态。
请求
名称 | 类型 |
---|---|
source |
client_end:Source?
|
TransitionToSource
播放当前来源时转换为指定来源 达到 transition_pts 时。新源从 start_pts 开始播放。如果 某个转换已处于待处理状态,该转换将被舍弃,取而代之的是新的 过渡效果。
请求
名称 | 类型 |
---|---|
source |
client_end:Source
|
transition_pts |
int64
|
start_pts |
int64
|
结构体
PlayerStatus
在 fuchsia.media.playback/player.fidl 中定义
播放器状态信息。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
duration |
zx/Duration
|
内容的时长。 |
无默认值 |
can_pause |
bool
|
播放器是否可以暂停。 |
无默认设置 |
can_seek |
bool
|
玩家是否可以跳转。 |
无默认设置 |
has_audio |
bool
|
来源是否包含音频串流。 |
无默认设置 |
has_video |
bool
|
来源是否有视频流。 |
无默认设置 |
ready |
bool
|
指示玩家是否已准备好开始游戏。更新后
调用了 |
无默认设置 |
metadata |
fuchsia.media/Metadata?
|
无默认设置 | |
problem |
Problem?
|
表示存在问题,导致无法执行预期操作。 |
无默认设置 |
audio_connected |
bool
|
指示音频串流当前是否已连接以进行渲染。如果 |
无默认设置 |
video_connected |
bool
|
指示当前是否已连接到视频流进行渲染。
如果 |
无默认设置 |
video_size |
fuchsia.math/Size?
|
当前正在制作的视频的大小。如果视频大小目前未知,此值将为 null。 |
无默认值 |
pixel_aspect_ratio |
fuchsia.math/Size?
|
视频像素的相对尺寸。如果将 像素宽高比目前未知。 |
无默认设置 |
timeline_function |
fuchsia.media/TimelineFunction?
|
用于将本地时间转换为播放时间的函数。该值将为 如果时间轴函数当前未定义,则返回 null。 |
无默认设置 |
end_of_stream |
bool
|
指示所有串流的呈现是否已达到串流结束。 |
无默认设置 |
问题
在 fuchsia.media.playback/problem.fidl 中定义
模拟导致无法执行预期操作的问题。
Problem
通常作为组件状态的一部分显示,很可能是
作为可选字段如果没有 Problem
,则表示没有任何因素阻止预期操作。发现问题时,客户端可以采取行动
自动或显示相关界面。如果问题可以由
客户可以自动采取该操作,也可以让用户
分辨率不高无论是哪种情况
该问题现已得到解决系统设计上没有通用的方法来关闭问题。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
type |
string
|
问题的类型。这是用于实现可扩展性的字符串。 |
无默认设置 |
details |
string?
|
取决于类型的详细信息。 |
无默认值 |
SourceStatus
在 fuchsia.media.playback/source_manager.fidl 中定义
来源状态信息。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
duration |
zx/Duration
|
内容的时长。 |
无默认设置 |
can_pause |
bool
|
来源是否可以暂停。 |
无默认设置 |
can_seek |
bool
|
来源是否可以跳转。 |
无默认设置 |
has_audio |
bool
|
来源是否包含音频串流。 |
无默认设置 |
has_video |
bool
|
来源是否有视频流。 |
无默认值 |
ready |
bool
|
指示来源是否已准备就绪。如果值为 true,则表示 内容已经过检测,目前没有任何已知问题。 |
无默认设置 |
metadata |
fuchsia.media/Metadata?
|
描述媒体。 |
无默认值 |
problem |
Problem?
|
表示无法执行预期操作的问题。null 值 表示该来源按预期运行。 |
无默认值 |
表
PlayerOptions
在 fuchsia.media.playback/player.fidl 中定义
SetFileSourceWithOptions
中使用的选项。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
silent |
bool
|
设置为 true 时,会抑制音频渲染。默认值为 false。 |
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
PROBLEM_ASSET_NOT_FOUND | fuchsia.media.playback.AssetNotFound |
String |
|
PROBLEM_AUDIO_ENCODING_NOT_SUPPORTED | fuchsia.media.playback.AudioEncodingNotSupported |
String |
|
PROBLEM_CONNECTION_FAILED | fuchsia.media.playback.ConnectionFailed |
String |
|
PROBLEM_CONTAINER_NOT_SUPPORTED | fuchsia.media.playback.ContainerNotSupported |
String |
|
PROBLEM_INTERNAL | fuchsia.media.playback.Internal |
String |
|
PROBLEM_VIDEO_ENCODING_NOT_SUPPORTED | fuchsia.media.playback.VideoEncodingNotSupported |
String |
|
UNKNOWN_SIZE |
18446744073709551615
|
uint64 |
|