首页 > 代码库 > Android多媒体-底层流程简介
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进行音视频的编码。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。