执行 fuchsia.media.playback

添加数量:7

协议

初级来源

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

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

AddBinding

向此 ElementarySource 添加新绑定。通过使用此方法,客户端可以获取一个额外的通道来与此 ElementarySource 通信,即使在某个通道被对 SourceManager.SetSource 的调用占用后也是如此。

请求

名称类型
source_request server_end<ElementarySource>

添加信息流

添加基本流。可以通过关闭 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>

绑定增益控制

绑定到该播放器的增益控件。

请求

名称类型
gain_control_request server_end<fuchsia.media.audio/GainControl>

CancelSourceTransition

取消待处理的转换,返回来源。如果没有待处理的转换,请求渠道会关闭。

请求

名称类型
returned_source_request server_end<Source>

创建元素来源

创建一个来源,以允许客户端向播放器提供独立的基本流。Duration_ns、can_pause、can_seek 和元数据均包含在 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>

创建文件源

创建从文件读取的来源。

请求

名称类型
file_channel handle<channel>
source_request server_end<Source>

创建读者源

创建从 SeekingReader 读取数据的来源。

请求

名称类型
seeking_reader SeekingReader
source_request server_end<Source>

创建视图

创建视频视图。

请求

名称类型
view_token fuchsia.ui.views/ViewToken

OnStatusChanged

在绑定后立即提供当前状态,并在绑定之后每当状态发生更改时提供。

回复

名称类型
player_status PlayerStatus

暂停

暂停播放。

请求

<空>

Play

开始播放。

请求

<空>

进度

跳转到指定位置,以纳秒为单位。

请求

名称类型
position int64

SetFileSource

设置要读取的文件通道。

请求

名称类型
file_channel handle<channel>

SetFileSourceWithOptions

设置要读取的文件通道。

请求

名称类型
file_channel handle<channel>
options PlayerOptions

设置播放率

设置播放器播放时使用的速率。“rate”必须为正数。PlayerStatustimeline_function 字段指示播放器播放时的实际速率。

请求

名称类型
playback_rate float32

SetSource

设置此播放器要使用的来源。如果来源为 null,播放器将进入空闲状态。

请求

名称类型
source Source?

TransitionToSource

在当前来源的播放达到 transition_pts 时转换到指定的来源。新来源从 start_pts 处开始播放。如果某个转换已处于待处理状态,则会被舍弃,取而代之的是新的转换。

请求

名称类型
source Source
transition_pts int64
start_pts int64

SeekingReader

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

描述

请求

<空>

回复

名称类型
status zx/Status
size uint64
can_seek bool

读取时间

请求

名称类型
position uint64

回复

名称类型
status zx/Status
socket handle<socket>?

来源

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

播放器可以使用的内容的来源。

OnStatusChanged

回复

名称类型
source_status SourceStatus

源代码管理器

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

代表玩家管理来源。

CancelSourceTransition

取消待处理的转换,返回来源。如果没有待处理的转换,请求渠道会关闭。

请求

名称类型
returned_source_request server_end<Source>

创建元素来源

创建一个来源,以允许客户端向播放器提供独立的基本流。Duration_ns、can_pause、can_seek 和元数据均包含在 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>

创建文件源

创建从文件读取的来源。

请求

名称类型
file_channel handle<channel>
source_request server_end<Source>

创建读者源

创建从 SeekingReader 读取数据的来源。

请求

名称类型
seeking_reader SeekingReader
source_request server_end<Source>

SetSource

设置此播放器要使用的来源。如果来源为 null,播放器将进入空闲状态。

请求

名称类型
source Source?

TransitionToSource

在当前来源的播放达到 transition_pts 时转换到指定的来源。新来源从 start_pts 处开始播放。如果某个转换已处于待处理状态,则会被舍弃,取而代之的是新的转换。

请求

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

视频像素的相对尺寸。如果像素宽高比当前未知,则此值将为 null。

无默认值
timeline_function fuchsia.media/TimelineFunction?

用于将当地时间转换为呈现时间的函数。如果当前尚未定义时间轴函数,则此值将为 null。

无默认值
end_of_stream bool

指明所有视频流的呈现是否已到达视频流结尾。

无默认值

问题

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

对阻止预期操作的问题进行建模。

Problem 通常作为组件状态的一部分显示,可能作为可选字段显示。缺少 Problem 表示没有任何因素阻止预期的操作。发现问题时,客户端可以自动执行操作或显示相关界面。如果可以通过某项操作解决某个问题,客户端可能会自动执行该操作或以某种方式让用户加入解决方法。无论是哪种情况,导致问题暴露的问题得到解决后,问题就会消失。根据设计,没有用于忽略问题的一般方法。

字段类型说明默认
type string

问题类型。这是一个可扩展的字符串。

无默认值
details string?

与类型相关的详细信息。

无默认值

来源状态

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 中使用的选项。

序数字段类型说明
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
问题内部 fuchsia.media.playback.Internal String
PROBLEM_VIDEO_ENCODING_NOT_SUPPORTED fuchsia.media.playback.VideoEncodingNotSupported String
UNKNOWN_SIZE 18446744073709551615 uint64

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