此文档说明在 tina2.5 平台,如何使用 TPlayer 的接口来开发播放器应用程序,方便播放器开发人员快速正确地开发。

2. TPlayer 状态图及状态说明
2.1. TPlayer 状态图

这张状态转换图清晰地描述了 TPlayer 的各个状态,也列举了主要的方法的调用时序,每种方法只能在一些特定的状态下使用,否则会出错。

另外,只有在 Prepared、Started、Paused、PlaybackCompleted 这四种状态下可以进行 TPlayerSeekTo()操作,并且 TPlayerSeekTo()之后,状态不变。

2.2. TPlayer 每个状态简要说明
2.2.1. Idle 状态
Idle 状态:当调用 TPlayerCreate()创建一个 TPlayer 或者调用了其 TPlayerReset()方法时,TPlayer 处于idle 状态。

2.2.2. Initialized 状态
这个状态比较简单,调用 TPlayerSetDataSource()方法就进入 Initialized 状态,表示此时要播放的文件已经设置好了。

2.2.3. Preparing 状态
这个状态比较好理解,主要是和 TPlayerPrepareAsync()配合,如果异步准备完成,会通过这个TPLAYER_NOTIFY_PREPARED 消息回调上来,进而进入 Prepared 状态

2.2.4. Prepared 状态
初始化完成之后还需要通过调用 TPlayerPrepare()或 TPlayerPrepareAsync()方法,这两个方法一个是同步的一个是异步的,只有进入 Prepared 状态,才表明 TPlayer 到目前为止都没有错误,可以进行文件播放。

2.2.5. Started 状态
TPlayer 一旦准备好,就可以调用 TPlayerStart()方法,这样 TPlayer 就处于 Started 状态,这表明 TPlayer正在播放文件过程中。可以使用 TPlayerIsPlaying()测试 TPlayer 是否处于了 Started 状态。如果播放完毕,而又设置了循环播放,则 TPlayer 仍然会处于 Started 状态。

2.2.6. Paused 状态
Started 状态下可以调用 TPlayerPause()方法暂停 TPlayer,从而进入 Paused 状态,TPlayer 暂停后再次调用 TPlayerStart()则可以继续 TPlayer 的播放,转到 Started 状态。

2.2.7. Stopped 状态
Started 或者 Paused 状态下均可调用 TPlayerStop()停止 TPlayer,而处于 Stop 状态的 TPlayer 要想重新播放,需要通过 TPlayerPrepareAsync()和 TPlayerPrepare()回到先前的 Prepared 状态重新开始才可以

2.2.8. PlaybackCompleted 状态
文 件 正 常 播 放 完 毕 , 而 又 没 有 设 置 循 环 播 放 的 话 就 进 入 该 状 态 , 并 且 会 通 过TPLAYER_NOTIFY_PLAYBACK_COMPLETE 这个消息回调给应用。此时可以调用 TPlayerStart()方法重新从头播放文件,也可以 TPlayerStop()停止 TPlayer,或者也可以 TPlayerSeekTo()来重新定位播放位置。

2.2.9. Error 状态
由于某种原因TPlayer出现了错误,就会进入该状态,并且会通过TPLAYER_NOTIFY_MEDIA_ERROR这个消息回调给应用。如果TPlayer 进入了 Error 状态,可以通过调用 TPlayerReset()来恢复,使得 TPlayer重新返回到 Idle 状态。

2.2.10. End 状态
通过 TPlayerDestroy()的方法可以进入 End 状态,只要 TPlayer 不再被使用,就应当尽快将其 destroy掉。

3. 接口函数说明
3.1. TPlayerCreate

3.3.TPlayerSetDebugFlag

3.4.TPlayerSetNotifyCallback

3.5.TPlayerSetDataSource

3.6.TPlayerPrepare

3.7.TPlayerPrepareAsync

3.8.TPlayerStart

3.9.TPlayerPause

·····

参考资料:全志R11_SDK

全志R11_tinav2.5_tplayer播放器接口说明-SDK开发资料相关推荐

  1. 【技术分享】Windows平台低延迟RTMP、RTSP播放器接口设计探讨

    背景 我们看过了太多介绍RTSP.RTMP播放相关的技术资料,大多接口设计简约,延迟和扩展能力也受到一定的局限,好多开发者希望我们能从接口设计的角度,大概介绍下大牛直播SDK关于RTMP.RTSP播放 ...

  2. C#——窗体程序声明一个播放器接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。

    声明一个播放器接口IPlayer,包含5个接口方法:播放.停止.暂停.上一首和下一首.设计一个窗体程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类的实例测试程序 ...

  3. 声明一个播放器接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。

    声明一个播放器接口IPlayer,包含5个接口方法:播放.停止.暂停.上一首和下一首.设计一个Windows应用程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类 ...

  4. Android 音乐播放器的开发教程(三) 小卷毛播放器的主界面开发 ---- 小达

    Android 音乐播放器的开发教程(三) 小卷毛播放器的主界面开发 拿好素材之后,打开你们的开发工具,小达这里用的是android studio1.0, 新建一个项目,打开activity_main ...

  5. FFmpeg/WebRTC/RTMP/RTSP/HLS/播放器-音视频流媒体高级开发【零声学院】

    FFmpeg/WebRTC/RTMP/RTSP/HLS/播放器-音视频流媒体高级开发 学习 音视频流媒体高级开发学习 01音视频基础 [录播]0-音视频开发高级课程简介(22分钟) 免费试学 [录播] ...

  6. 在苹果CMS中为电脑和移动端设置不同的播放器接口

    下载安装苹果CMS10和海螺模板,一路顺利,然后使用萌芽采集充实资源,一个自娱自乐的影视网站基本建成. 其中有一些资源需要解析播放,我就使用了默认的"https://cdn.zyc888.t ...

  7. 播放器/短视频 SDK 架构设计,点播服务 (Demo)

    在Android中,我们可以直接使用MediaRecord来进行录像,但是在很多适合MediaRecord并不能满足我们的需求,比如我们需要对录制的视频加水印或者其他处理后,所有的平台都按照同一的大小 ...

  8. google vr 入门之制作简易的VR播放器(二),安卓开发基础面试题

    陀螺仪模式和手触模式,GVR中默认陀螺仪模式一直存在,手触模式有一个开关可以打开或者关闭(默认关闭) mVideoView.setTouchTrackingEnabled(true);//开启手触模式 ...

  9. 【音乐App】—— Vue-music 项目学习笔记:播放器内置组件开发(一)

    前言:以下内容均为学习慕课网高级实战课程的实践爬坑笔记. 项目github地址:https://github.com/66Web/ljq_vue_music,欢迎Star. 播放暂停 前进后退 一.播 ...

最新文章

  1. 模型树——就是回归树的分段常数预测修改为线性回归 对于非线性回归有较好的预测效果...
  2. 2018CTF大赛学习
  3. java编程那些事pdf下载_《Java编程那点事儿》读书笔记(六)
  4. java 手动编译打包_Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包...
  5. opencv 报错:Error: Assertion failed (data) in cv::Mat::at, file ... mat.inl.hpp, line 897(访问了不存在矩阵的像素)
  6. 关于font-size对垂直居中影响的问题
  7. 【翻译】WPF中的数据绑定表达式
  8. LeetCode 1488. 避免洪水泛滥(贪心+set二分查找)
  9. 登录计算机怎么保存用户名,浏览器保存了账号密码怎么查看,教您怎么查看
  10. Gnosis发起提案就是否推出Gnosis协议v2版本展开讨论
  11. Go的50坑:新Golang开发者要注意的陷阱、技巧和常见错误[1]
  12. 佳能Canon imageCLASS MF227dw 打印机驱动
  13. 内存超频时序怎么调_内存超频(ddr4内存时序多少为好)
  14. UPnP 体系架构和基本原理 —— UPnP 网络组件
  15. 排球分组循环交叉编排_第一届“黄河金三角杯”全国学生排球邀请赛竞赛规程...
  16. 电力设备事故演练仿真培训_电力事故VR培训_广州华锐互动
  17. android 图片加载 软引用_android Listview 软引用SoftReference异步加载图片
  18. ffmpegguitool下载不了_FFmpeg GUI Tool下载-FFmpeg GUI Tool(视频处理)下载v1.2.4 安卓版-西西软件下载...
  19. itextword加公章 java_使用itext和freemarker来根据Html模板生成PDF文件,加水印、印章...
  20. 菜鸡做题·20200418会员登陆页面(CTF)

热门文章

  1. 一文读懂SpringCloud与Eureka,Feign,Ribbon,Hystrix,Zuul核心组件间的关系
  2. *关于系统调用我自己再整理一下(系统调用,任务切换,pendsv中断,SVC,整个理顺打通了)
  3. Web安全篇之SQL注入攻击
  4. 淘宝联盟(淘客)/京东联盟(京东客)/拼多多(多多客)常用接口整理
  5. 熊猫烧香制造者李俊:5个小时完成专杀软件
  6. 抖音短视频获客系统SEO优化工具技术研发分享
  7. vue 检测ie版本_分析vue 兼容IE报错解决方案
  8. ESP8266-01模块接入巴法云,SmartConfig智能配网,设置断电记忆模式,可以使用米家控制和普通开关控制
  9. 长沙 中级职称 评审 计算机和英语,多省份对比后才知道:2021年湖南中级职称评审优势如何?...
  10. 【老生谈算法】matlab链传动的优化设计——链传动