Ftr #

Course #

Modules #

Ftr v0.7.0 Documentation


Table of Contents

ftr/media #

Class: Video #

  • extends Image

  • 继承于Image需要加入到gui视图树中才可正常工作

  • 如果只需要单独播放音频,可使用AudioPlayer

Video.onWaitBuffer #

缓冲等待时触发, 事件数据为0.0-1.0float数,1.0表示缓冲完成

Video.onReady #

数据源准备完成,可以开始播放时触发

Video.onStartPlay #

真正开始播放时触发

Video.onError #

异常时触发

Video.onSourceEof #

数据源结束时触发,但可能播放还未结束,因为缓冲区与解码缓冲中还有数据

Video.onPause #

播放暂停时触发

Video.onResume #

从暂停中恢复时触发

Video.onStop #

播放停止时触发

Video.onSeek #

seek时触发

Video.autoPlay #

Default true

在数据源准备好时是否自动开始播放,false需要调用start()开始播放

Get: Video.sourceStatus #

当前数据源状态

Get: Video.status #

当前播放状态

Video.mute #

是否静音

Video.volume #

音频音量0-100之间

Video.src #

视频源地址,可以为本地路径也可以为网络路径

Get: Video.time #

视频当前播放的时间毫秒数

Get: Video.duration #

视频的总长度毫秒数

Get: Video.audioTrackIndex #

当前音频轨道索引

Get: Video.audioTrackCount #

支持音频轨道数

Video.disableWaitBuffer #

禁用等待数据缓冲,只要有数据立即呈现,不等待

Video.selectAudioTrack(index) #

选择音频轨道

  • @arg index {uint} audio track index

Video.audioTrack([index]) #

获取音频轨道信息,不传入index返回当前选择的轨道

Video.videoTrack() #

获取视频轨道信息

Video.start() #

开始播放

Video.seek(time) #

跳转到目标time位置

  • @arg time {uint} ms 毫秒
  • @ret {bool} success return true

Video.pause() #

暂停播放

Video.resume() #

恢复播放

Video.stop() #

停止播放

Class: AudioPlayer #

音频播放器与视频播放器的成员几乎完全相同

AudioPlayer.onWaitBuffer #

AudioPlayer.onReady #

AudioPlayer.onStartPlay #

AudioPlayer.onError #

AudioPlayer.onSourceEof #

AudioPlayer.onPause #

AudioPlayer.onResume #

AudioPlayer.onStop #

AudioPlayer.onSeek #

AudioPlayer.constructor([src]) #

这里如果传入有效源src会自动开始播放

AudioPlayer.autoPlay #

Get: AudioPlayer.sourceStatus #

Get: AudioPlayer.status #

AudioPlayer.mute #

AudioPlayer.volume #

AudioPlayer.src #

Get: AudioPlayer.time #

Get: AudioPlayer.duration #

Get: AudioPlayer.trackIndex #

Get: AudioPlayer.trackCount #

AudioPlayer.disableWaitBuffer #

AudioPlayer.selectTrack(index) #

选择音播放的频轨道

  • @arg index {uint} audio track index

AudioPlayer.track([index]) #

不传入index默认返回当前播放的轨道信息

AudioPlayer.start() #

AudioPlayer.seek(time) #

  • @arg time {uint} ms
  • @ret {bool} success return true

AudioPlayer.pause() #

AudioPlayer.resume() #

AudioPlayer.stop() #

Object: TrackInfo #

多媒体轨道信息描述数据,这是个Object类型描述并没有实际存在的构造函数

TrackInfo.type #

轨道类型,声音或视频

TrackInfo.mime #

Mime类型字符串

TrackInfo.width #

输出图像宽度

TrackInfo.height #

输出图像高度

TrackInfo.language #

语言字符串

TrackInfo.bitrate #

码率

TrackInfo.sampleRate #

声音采样率

TrackInfo.channelCount #

声音声道数量

TrackInfo.channelLayout #

音频声道布局掩码 AudioChannelMask

TrackInfo.frameInterval #

图像帧时间间隔 ms

Enum: MediaType #

MEDIA_TYPE_AUDIO #

MEDIA_TYPE_VIDEO #

Enum: PlayerStatus #

PLAYER_STATUS_STOP #

  • 播放已停止

PLAYER_STATUS_START #

  • 已调用start()开始播放,但还未真正开始播放

PLAYER_STATUS_PLAYING #

  • 正在播放中状态

PLAYER_STATUS_PAUSED #

  • 暂停状态

Enum: MultimediaSourceStatus #

MULTIMEDIA_SOURCE_STATUS_UNINITIALIZED #

  • 还未初始化媒体数据源

MULTIMEDIA_SOURCE_STATUS_READYING #

  • 数据源正在准备中

MULTIMEDIA_SOURCE_STATUS_READY #

  • 数据源已准备好,数据源正常工作时大部分时间都是这个状态

MULTIMEDIA_SOURCE_STATUS_WAIT #

  • 数据源正在等待数据缓冲

MULTIMEDIA_SOURCE_STATUS_FAULT #

  • 数据源故障

MULTIMEDIA_SOURCE_STATUS_EOF #

  • 数据源已读取结束

Enum: AudioChannelMask #

CH_INVALID #

CH_FRONT_LEFT #

CH_FRONT_RIGHT #

CH_FRONT_CENTER #

CH_LOW_FREQUENCY #

CH_BACK_LEFT #

CH_BACK_RIGHT #

CH_FRONT_LEFT_OF_CENTER #

CH_FRONT_RIGHT_OF_CENTER #

CH_BACK_CENTER #

CH_SIDE_LEFT #

CH_SIDE_RIGHT #

CH_TOP_CENTER #

CH_TOP_FRONT_LEFT #

CH_TOP_FRONT_CENTER #

CH_TOP_FRONT_RIGHT #

CH_TOP_BACK_LEFT #

CH_TOP_BACK_CENTER #

CH_TOP_BACK_RIGHT #

Enum: VideoColorFormat #

VIDEO_COLOR_FORMAT_INVALID #

VIDEO_COLOR_FORMAT_YUV420P #

VIDEO_COLOR_FORMAT_YUV420SP #

VIDEO_COLOR_FORMAT_YUV411P #

VIDEO_COLOR_FORMAT_YUV411SP #