
Android Media
Arrow
在技术上具有Arrow一样的钉子精神
展开
-
Android Audio 数据流详解
Android Audio Architecture 图如下所示 详细调用路径如下1. 音频播放示例代码MediaPlayer mp = new MediaPlayer();mp.setDataSource(PATH_TO_FILE);mp.prepare();mp.start(); 1.1 MediaPlayer mp = new MediaPlaye转载 2011-12-03 12:06:59 · 14605 阅读 · 1 评论 -
AwesomePlayer的启动工作
继前一篇文章AwesomePlayer的准备工作,本文主要描述当Java调用mp.start();时,AwesomePlayer做了些什么...1. AwesomePlayer::play_l 其调用流程如下: StagefrightPlayer::start-> AwesomePlayer::play-> AwesomePlayer::pl原创 2011-12-28 11:39:00 · 10290 阅读 · 2 评论 -
AwesomePlayer的准备工作
1. 前提条件本文以播放本地文件为例,且setDataSource时传入的是文件的url地址。在Java中,若要播放一个本地文件,其代码如下:MediaPlayer mp = new MediaPlayer();mp.setDataSource(PATH_TO_FILE); ...... (1)mp.prepareAsync(); .......................原创 2011-12-13 17:47:47 · 15356 阅读 · 4 评论 -
Android StagefrightPlayer
1. 对StagefrightPlayer的好奇前面对StagefrightPlayer的创建流程已经分析清楚了,即在Android::createPlayer中根据url的type来创建不同的player. StagefrightPlayer是Android提供的,比较经典的一个Player。但个人觉得它不怎么样,还不如ffmpeg支持的codec和parser多。还有一个opencore,原创 2011-12-13 10:59:28 · 6204 阅读 · 2 评论 -
Android4.0.1中各个Player的功能
1. Android4.0.1中默认定义了4个真正的Player,具体情况如下:static sp createPlayer(player_type playerType, void* cookie, notify_callback_f notifyFunc){ sp p; switch (playerType) { case SON原创 2011-12-09 10:07:31 · 7013 阅读 · 0 评论 -
MediaPlayer-MediaPlayerService-MediaPlayerService::Client的三角关系
1. MediaPlayer是客户端2. MediaPlayerService和MediaPlayerService::Client是服务器端。2.1 MediaPlayerService实现IMediaPlayerService定义的业务逻辑,其主要功能是根据MediaPlayer::setDataSource输入的URL调用create函数创建对应的Player.2.2 Media原创 2011-12-08 21:24:31 · 12890 阅读 · 4 评论 -
Android媒体播放器框架--图
1. 由于小弟用的平台的AV播放一直不稳定,为研究其原由,不得不把MediaPlayer这个东东搞个明白。2. 媒体播放器本地部分对上层的接口是MediaPlayer,对下层的接口是媒体播放器对硬件的抽象层,StagefrightPlayer是其中的一个实现,你也可以自己基于硬件驱动实现一个MyPlayer,然后添加到MediaPlayerService.cpp中的createPlayer中,原创 2011-12-08 15:06:02 · 8091 阅读 · 0 评论 -
Android中真正的Player
1. 在前面的介绍中,从Java到MediaPlayer---Binder---MediaPlayerService::Client已经讲清楚了。可是,在MediaPlayerService::Client MediaPlayerService::create-> new Client / MediaPlayerService::Client::setDataSource->getPlayerT原创 2011-12-08 19:45:07 · 5511 阅读 · 1 评论 -
Android StagefrightPlayer调用流程
从Android 2.3开始,Android MediaPlayer采用Stagefright框架。Based on Android 4.0.1.StagefrightPlayer创建函数如下:(MediaPlayerService.cpp,详细过程见文章:Android Audio 数据流详解)static sp createPlayer(player_type playerType,原创 2011-12-05 20:07:26 · 6847 阅读 · 0 评论 -
Android中使用ALSA声卡及alsa.conf asound.conf
1. 配置文件总共有三个配置文件: 1) /system/usr/share/alsa/alsa.conf :它指定了另外两个配置文件的路径 2) /etc/asound.conf 3) .asoundrc可通过cat /proc/asound/cards查看当前系统有哪些声卡。 2. 第一步cd到Android源码树根目录下:cd /home/xxx/and转载 2012-11-08 12:04:58 · 15413 阅读 · 0 评论