android mutilmedia framework 简述

这里直接画出MediaRecorder和MediaPlayer在系统各个层次中相关联的类,虚线的连接代表跨进程的binder通信,这样的结构前面也有提到过,MediaRecorder既有充当binder proxy,也有充当binder server端,目的是为了实现双向通信,MediaPlayer也是如此。


1、MediaPlayerService

它是一个全局的service,也就是可以通过servicemanager拿到,它运行在mediaserver进程中,主要作用是需要透过它来创建MediaRecorder和MediaPlayer的连接。

 

2、MediaRecorder

提高录制功能的一个类,可以录制不同格式音频、视频文件。忽略中间的各种封装,可以认为java层的MediaRecorder对应的就是mediaserver中的StageFrightRecorder,也就是说MediaRecorder接口对应的实现都在StageFrightRecorder中。

 

3、MediaPlayer

提供播放功能的一个类,可以播放不同格式的音频、视频文件,可以本地资源,也可以播放网络资源。忽略中间的各种封装,可以认为java层的MediaPlayer对应的就是mediaserver中的NuPlayer,也就是说MediaPlayer接口对应的实现都在NuPlayer中。有了这样的认识之后,看代码了解流程的时候会更直接,比如想要知道MediaPlayer的prepare()接口做了那些事,可以直接看NuPlayer里面prepareAsync()的实现。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值