Android多媒体-底层流程简介

先上图,根据图做一个简单介绍

我们讲一下MediaPlayer

应用层的播放器首先调用framework层的MediaPlayer的类,接着FrameWork层会继续调用Native层的MediaPlayer类,然后通过Binder调用MediaPlayerService,MediaPlayerService调用OpenVC库解码成原始的视频流和音频流,视频流通过UI一帧一帧的显示出来,MediaPlayerService将解码后的音频流交给AudioTrack,接着交给AudioFlinger进行音频采样合成,再交给Audio HAL生成AudoStreamOut,最后交给kelnel的AudioDrive开始播放。

如果是原始的音频流不需要使用MediaPlayer,因为MediaPlayer需要解码耗费的时间太长,只需要通过AudioTrack即可。

MediaRecorder、MediaPlayer执行过程类似,不同的就是MediaRecorder用于音视频的录制,需要调用OpenVC进行音视频的编码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值