执行 fuchsia.media.playback

添加时间:7

协议

ElementarySource

fuchsia.media.playback/source_manager.fidl 中定义

Source 变体,用于直接向播放器提供基本流。

AddBinding

向此 ElementarySource 添加新的绑定。通过使用此方法,即使调用 SourceManager.SetSource 会消耗一个通道,客户端也可以获得一个额外的通道来与此 ElementarySource 通信。

请求

名称类型
source_request server_end:ElementarySource

AddStream

添加基本信息流。您可以通过关闭 SimpleStreamSink 来移除基元串流。ticks_per_second_numeratorticks_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_pausecan_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

暂停

暂停播放。

请求

&lt;EMPTY&gt;

播放

开始播放。

请求

&lt;EMPTY&gt;

进度

跳转至指定位置(以纳秒为单位)。

请求

名称类型
position int64

SetFileSource

设置要读取的文件通道。

请求

名称类型
file_channel handle<channel>

SetFileSourceWithOptions

设置要从中读取数据的文件通道。

请求

名称类型
file_channel handle<channel>
options PlayerOptions

SetPlaybackRate

设置播放器播放时要使用的速率。rate 必须为正值。通过 PlayerStatustimeline_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 中定义

描述

请求

&lt;EMPTY&gt;

响应

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

指示玩家是否已准备好开始游戏。更新后 调用了 SetFileSourceSourceManager.SetSource,此值为 false,直到播放器完全准备好播放来自 来源。

无默认设置
metadata fuchsia.media/Metadata? 无默认设置
problem Problem?

表示存在问题,导致无法执行预期操作。

无默认设置
audio_connected bool

指示音频串流当前是否已连接以进行渲染。如果 has_audio 为 false 或音频串流类型不受支持,则此值为 false。

无默认设置
video_connected bool

指示当前是否已连接到视频流进行渲染。 如果 has_video 为 false 或不支持视频串流类型,则此值为 false。

无默认设置
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字段类型说明
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

SeekingReader.Describe 返回的 size 值的区分值 表示大小未知。