![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android_多媒体
文章平均质量分 74
zhoujiamurong
这个作者很懒,什么都没留下…
展开
-
Gallery3d 学习笔记(2)
上一次我们只是研究了一下Gallery3d的大致情况,发现了一些问题,就是什么时候发出开始扫描信息的和何时扫描的处理没有找到。 我们不得不扩大研究范围了,开始看在package\provider\mediaprovider,否则我们理解不了上述疑问。 mediaprovider 也是一个相关的APK,这个应用是对多媒体相关应用提供支持,如gallery3D musi原创 2013-06-14 11:49:14 · 1569 阅读 · 2 评论 -
Gallery3d 学习笔记(13)
上次我们探讨了Android 4.0中Gallery3d中的视频播放器,现在剩下的代码非常的多,我们先整体看下有那些包com.android.gallery3d.anim;//动画com.android.gallery3d.app;//应用com.android.gallery3d.common;//通用com.android.gallery3d.data;//数据源com原创 2013-06-17 07:35:46 · 2257 阅读 · 1 评论 -
Gallery3d 学习笔记(14)
上次我们研究了新的代码和原来2.3的代码的不同处,视频播放器的控制条从Framework中改变到了本地代码中,但是Framework中的控制条并没有删除,因为什么?为了向下兼容。另外我们还研究了触摸消息的分发,发现新的触摸分发更为规范一些,并且也没有像以前那样分层了,而是分页面,这样也更好一些,一旦有问题,可以到指定的Page中去找,而不是在透明的层里面到处找代码了。既然研究完原创 2013-06-17 09:35:45 · 1561 阅读 · 0 评论 -
Gallery3d 学习笔记(15)
上次讲到了StateManager如何用工厂模式创建出很多Page,然后将这些Page放在一个栈里面管理 我们先看下所有Page的父类 abstract public class ActivityState { public static final int FLAG_HIDE_ACTION_BAR = 1; public static final int FL原创 2013-06-27 11:27:08 · 1401 阅读 · 3 评论 -
Gallery3d 学习笔记(16)
前面我们详细了解了Gallery中如何组织各种页,并且如何用工厂模式生成这些页面,并且使用栈的压入和弹出实现页面的切换,下面我们就直接看看细节问题,首先是ActionBarpublic class AbstractGalleryActivity extends Activity implements GalleryContext { private static final S原创 2015-02-06 15:01:41 · 912 阅读 · 0 评论 -
Gallery3d 学习笔记(18)
上一节课,我们讲了ActionBar 的左边部分,那么现在我们讲一下ActionBar的右边部分我们先熟悉一下我们要看的内容,看看再不同的界面下ActionBar是不是有不同的状态?刚刚进去相册集的时候是不是有拍照按钮?并且右边的菜单是只有一个选择相册?继续进相册的时候,拍照按钮是不是消失了?右边的菜单变成了多个,包括播放幻灯片?继续进入单张图片的时原创 2015-03-19 10:42:34 · 1009 阅读 · 0 评论 -
Gallery3d 学习笔记(17)
private class ClusterAdapter extends BaseAdapter { @Override public int getCount() { return sClusterItems.length; } @Override public Object getIte原创 2015-03-17 14:56:55 · 750 阅读 · 0 评论 -
Gallery3d 学习笔记(19)
上次我们讲了单张图片的上下界面的显示和隐藏,已经左上角名字的刷新,现在我们讲一下分享以及右边的一堆菜单他们涉及到一个类ShareActionProvider,这个类专门是用来用于分享的。界面在photo.xml中,整体是一个菜单 <item android:id="@+id/action_import" android:title="@str原创 2015-03-20 14:32:02 · 699 阅读 · 0 评论 -
Gallery3d 学习笔记(12)
从今天开始我们就开始研究Android 4.0里面的Gallery3d (Gallery2)4.0的代码就庞大许多,而且现在的包名变成了com.android.gallery3d了,是真正的Android写的了。我们看下AndroidManifast.xml,我们先看一个简单的Activity,熟悉下代码 <activity android:name=原创 2013-06-16 23:12:06 · 2940 阅读 · 2 评论 -
Gallery3d 学习笔记(11)
前面我们把Gallery3D的消息流程 刷新流程 数据流程 界面切换流程全部理清楚了,是不是很有成就感觉。如果弄懂了,添加两个按钮的作业应该没有什么问题,甚至添加一个新的层都不会有问题。我们讲了这么久其实才讲了一个Activity,其实还有一个比较重要的Activity.我们去看下配置文件AndroidManifast.xml <activity android原创 2013-06-16 20:58:35 · 1374 阅读 · 0 评论 -
Gallery3d 学习笔记(5)
上个回合我们讲到触摸的响应在一个层的列表中找到,但是没有找到层的关联和添加。到底又几个层被加入了?有几个层LIST?到底什么时候添加进去的?还是先看RenderView.java private static final Lists sLists = new Lists();看下这个内部类的组成 public static final class Lists {原创 2013-06-14 21:45:56 · 1020 阅读 · 0 评论 -
Gallery3d 学习笔记(6)
继续讲解前,我们先回顾一下前面5节的分析。首先在开机或者加载外部存储器时,在mediaprivder里面receiver会得到广播消息,receiver开启服务进行扫描,生成数据库,并在T卡上生成缩略图临时文件,然后在第一个Activity里面有两个关于opengl的成员,RenderView和作为Root Layer 的GridLayer成员,并且关联了RenderView和Ro原创 2013-06-15 11:18:05 · 1315 阅读 · 0 评论 -
Gallery3d 学习笔记(7)
上次找到了缩略图的绘制的地方,但没有找到缩略图数据是如何来的,也不知道其他界面是怎么刷新的,更不知道界面是如何切换的。让我们开始,先在Gallery.java 里面的OnCreate中找到一个函数 sendInitialMessage();顺着这个函数找下去 private void sendInitialMessage() { mNumRetries原创 2013-06-15 14:49:45 · 1402 阅读 · 0 评论 -
Gallery3d 学习笔记(9)
为了更好的了解界面的情况,还是去使用下Gallery3d的界面后再看代码刚进去是一个相册的缩略图界面,一堆一堆的图片,左上角是个Gallery(PathBar),右上角是个摄像头(ImageButton)再进入一个相册后,是这个相册的,网格化的缩略图,左上角是个Gallery+目录名字(PathBar),右上角是两个图表,一个是网格缩略图,一个堆缩略图,可以切换(Image原创 2013-06-16 16:15:17 · 1213 阅读 · 0 评论 -
Gallery3d 学习笔记(10)
上次我们了解了一些层在做什么,对应是什么,也看了对应的图片,也知道他们是一层层放着的,也知道触摸消息是怎么分发处理的。但这些都在哪里组织的呢?又是怎么切换的呢?我们还是一个控件(我估且叫他们控件吧,应该是一个层里面的一部分东西),先看HudLayer里面的代码。 // Camera button - launches the camera intent原创 2013-06-16 19:52:54 · 1129 阅读 · 0 评论 -
Gallery3d 学习笔记(1)
最近有空回忆下前一段时间工作中学习的东西,先确定下环境版本 Android 2.3版本。(刚接触Android 一年,有错误请指正) 负责这个模块后第一步就是静态分析。 首先看 AndroidManifest.xml里面的内容。首先看的是包名 com.cooliris.media看过其他模块的人都会发现,其他都是com.android.***的包名,这原创 2013-06-14 10:23:09 · 1906 阅读 · 0 评论 -
Gallery3d 学习笔记(3)
Android 的多媒体数据库文件存在什么地方呢 ?/data/data/com.android.providers.media/databases 只要有权限的手机都可以看到有两个数据库文件,internal.db和external-**.db,分别对应内部存储器数据库文件和外部存储器数据库文件。都第三节了,各位可能都着急还没有Activity的分析,其实外围分析清楚了,内部才原创 2013-06-14 13:55:29 · 1147 阅读 · 0 评论 -
Gallery3d 学习笔记(4)
发现每次都是要下岗前写博客,真不吉利啊,平时都没有空写。言归正传,上次的讲到RenderView和RootLayer,看起来必须把OpenGL的相关类弄清楚才能理解。我们知道要使用的OpenGL 是画图的一堆接口(当然包括3D 纹理 渲染很多东西),在用这些的同时,我们的Activity本身还有响应触摸按键事件,重现绘制界面,这两者必须同时良好的运行,怎么做到这些?不用着急,andro原创 2013-06-14 15:56:33 · 1236 阅读 · 0 评论 -
Gallery3d 学习笔记(8)
前面7节我们讲了很多东西,我们再来回顾一下: 在程序还没有开始的时候,系统的一个程序com.android.providers.media就把内置存储器和外置存储器默默的扫描了一遍,建立了数据库和缓存缩略图,我们还弄清楚了Gallery3D是通过RenderView通过OpenGL 刷的界面,而且界面分为很多层,而且将层分了5个层列表:刷新列表 不透明列表 半透明列表 触摸列表 系统列表原创 2013-06-16 11:03:46 · 1217 阅读 · 0 评论 -
MediaCodec 初探
最近分析了一个关于MediaCodec的花屏问题,记录一下文档以备后面使用。 MediaCodec这个类是Android4.1开始引入的,API16。这个类可以在设备上直接访问媒体的解码,一般称为硬解码。 在Android4.3之后,API18,MediaCodec扩展了一个方法createInputSurface,提供了一个通过Surface作为输入。这样允许输入来自...原创 2018-12-06 14:48:25 · 641 阅读 · 0 评论