android stagefright awesomeplayer 分析
主要调用awesomeplay.cpp的函数来实现音视频等功能,可以说是对awesomeplay.cpp的封装,进一步抽象,然后提供给上层调用,主要的调用者是MediaPlayerService.cpp。提供的API如下:
1. StagefrightPlayer::StagefrightPlayer():mPlayer(new AwesomePlayer)
l AwesomePlayer对象赋值给mPlayer,这里完成真正的初始化工作,后面使用mPlayer较多
2. StagefrightPlayer::~StagefrightPlayer()
3. status_tStagefrightPlayer::initCheck()//检查上面的初始化是否完成
4. status_tStagefrightPlayer::setDataSource//封装了status_tAwesomePlayer::setDataSource_l()
5. status_tStagefrightPlayer::setDataSource
6. status_tStagefrightPlayer::setVideoSurface(const sp<ISurface> &surface) //设置视频播放的界面
7. status_tStagefrightPlayer::prepare() {
returnmPlayer->prepare();
}
8. status_tStagefrightPlayer::prepareAsync()
9. status_tStagefrightPlayer::start()
10. status_tStagefrightPlayer::stop()
11. status_tStagefrightPlayer::pause()
12. boolStagefrightPlayer::isPlaying()
13. status_tStagefrightPlayer::seekTo(int msec) //用来控制播放的命令
14. status_tStagefrightPlayer::getCurrentPosition(int *msec)
15. status_tStagefrightPlayer::getDuration(int *msec)
16. status_tStagefrightPlayer::reset()
17. status_tStagefrightPlayer::setLooping(int loop) //设置循环
18. player_typeStagefrightPlayer::playerType() //选择播放引擎是STAGEFRIGHT_PLAYER? PV_PLAYER ? 或者 SONIVOX_PLAYER
19. status_tStagefrightPlayer::suspend() //挂起
20. status_tStagefrightPlayer::resume() //唤醒
21. status_tStagefrightPlayer::invoke//调用
22. voidStagefrightPlayer::setAudioSink(const sp<AudioSink> &audioSink) //设置音频输出:解码后的数据
23. status_tStagefrightPlayer::getMetadata //获取媒体元数据
android stagefright awesomeplayer 分析的更多相关文章
- Android APP性能分析方法及工具
近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借 ...
- Android之mtklog分析
Android之mtklog分析 [海外场测反馈][xxx]动态测试时对比机xxxx拨打测试机xxxxx自动挂断电话 工作中遇到一个掉话的问题,需要分析log,log比较大,我也没法上传,就简答的讲讲 ...
- Android源码分析-全面理解Context
前言 Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像 ...
- cocos2d-x for android:SimpleGame分析
cocos2d-x for android:SimpleGame分析 作为cocos2d-x的标配DEMO,SimpleGame可算是给入门学cocos2d-x的俺们这些新手门学习的对象了,那么来分析 ...
- Android内存机制分析1——了解Android堆和栈
//----------------------------------------------------------------------------------- Android内存机制分析1 ...
- Android 内存管理分析(四)
尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/8920039 最近在网上看了不少Android内存管理方面的博文,但是文章大多 ...
- Qualcomm Android display架构分析
Android display架构分析(一) http://blog.csdn.net/BonderWu/archive/2010/08/12/5805961.aspx http://hi.baidu ...
- Android 消息处理源代码分析(1)
Android 消息处理源代码分析(1) 在Android中,通常被使用的消息队列的代码在文件夹\sources\android-22\android\os下,涉及到下面几个类文件 Handler.j ...
- Android平台APK分析工具包androguard的部署使用和原理分析
原创文章,转载请注明出处,谢谢. Android应用程序分析主要有静态分析和动态分析两种,常见的静态分析工具是Apktool.dex2jar以及jdgui.今天突然主要到Google code上有个叫 ...
随机推荐
- access数据库的连接字符串以及数据库操作类
<!--access数据库连接方式--> <add name="QYTangConnectionString" connectionString="Pr ...
- Windows下安装Django及WEB服务启动
如果使用的是 Linux 或 Mac OS X ,系统可能已经预装了 Python .在命令提示符下 (或 OS X 的终端中) 输入python ,如果出现python编辑环境,说明 ...
- PHP学习笔记二十九【接口】
<?php //定义接口 //接口可以定义属性,但必须是常量而且是public //接口的所有方法必须是public interface Iusb{ public function start( ...
- jwplayer去Logo、自定义公司信息、限制拖动
function initplayer(){ jwplayer("mediaplayer").setup({ primary: "fl ...
- java基础知识4
58.线程的基本概念.线程的基本状态以及状态之间的关系线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身.Java中的线程有四种状态分别是:运行.就绪.挂 ...
- 写一个Windows上的守护进程(3)句柄的管理
写一个Windows上的守护进程(3)句柄的管理 在Windows中编程,跟HANDLE打交道是家常便饭.为了防止忘记CloseHandle,我都是使用do-while-false手法: void f ...
- (转)Eclipse Shortcuts
原文地址: http://javapapers.com/core-java/eclipse-shortcuts/ Editors are an integral part of a programme ...
- Direct2D 几何图形绘制基础
之前说过,D2D主要为了绘制有三种类型的数据:几何图形,图片,文字.这几种对象也叫做资源,资源就是要D2D流水线中要被加工的对象. 几何图形包括: 简单几何图形 直线,DrawLine,由起点和终点构 ...
- jquery插件编写
/*(function($) { $.fn.accordion = function(options) { var settings = $.extend({}, {open: false}, opt ...
- [Head First Python]2. BIF(内置函数)
1- range() >>> for each in range(2): print(each) ... 0 1