一文读懂 Android NuPlayer 框架

 源码:http://androidxref.com/9.0.0_r3/xref/frameworks/av/media/libmediaplayerservice/nuplayer/

1. 模块关系

Android 播放框架的模块关系如下:

 其中 Nuplayer::Source 分如下三种:

2. 控制流程

(1) setDataSource

作用:根据文件类型,创建具体的 Nuplayer::Source

流程:以本地播放为例。

说明:

数据源和创建的 Nuplayer::Source 类型对应关系如下:

(2) prepare

作用:准备数据源。

流程:

如果是HttpLive视频:

如果是RTSP视频:

如果是本地或普通网络视频:

(3) start

作用:创建解码模块和同步模块,启动流程。

流程:

说明:

3.数据流程

在App调用 MediaPlayer的start后,整个流程运转起来,数据流转图如下:

前端的NuPlayer::Source分三种情况:

如果是HttpLive视频:

如果是RTSP视频:

如果是本地或普通网络视频:

4. AV 同步

(1) Nuplayer::Renderer在收到Audio解码数据后:

(2) Nuplayer::Renderer在收到Video解码数据后:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值