![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android Framework
Android Framework音视频子系统
变身独角兽
再忙也得持续学习,生于忧患死于安乐
展开
-
AudioRecord构造函数(set_up)代码流程追踪
追踪流程图原创 2020-10-29 15:35:07 · 283 阅读 · 0 评论 -
Android MediaPlayer库源码解读(1):setDataSource()
前言MediaPlayer是Android音视频子系统中重要的一个子模块库,其功能丰富,且与Audio库联系紧密,是Android系统音视频子系统学习的第一站。源码解读需要具备相关Java、JNI、C++、Binder等知识,较为复杂难懂,简单记录追踪流程。java层【frameworks/base/media/java/android/media/MediaPlayer.java】**setDataSource()**在MediaPlayer.java中用户可直接调用的方法有四个:public原创 2020-10-21 23:25:17 · 3508 阅读 · 1 评论 -
Android Binder初识(二):实例
提要最近在Android 源码阅读与追踪中,跟踪代码Application -> Java Framework -> JNI -> Native C++的过程中,Native层涉及大量的进程间通信-Binder,实在是艰难理解,故通过分析一个Binder简单实例进行简单剖析,后续进一步通Android 子模块库进行实例分析。本实例工程目录结构 (以Test命名):接口端:ITestService.h、ITestService.cpp;客户端:TestClient.cpp;服务转载 2020-10-15 15:12:32 · 480 阅读 · 0 评论 -
Andorid MediaPlayer和AudioTrack 区别与联系
前言播放声音可以用MediaPlayer和AudioTrack,两者都提供了java API供应用开发者使用。虽然都可以播放声音,但两者还是有很大的区别的。区别:[1 ] 其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,WAV,OGG,MIDI等。MediaPlayer会在framework层创建对应的音频解码器。[2 ] 而AudioTrack只能播放已经解码的PCM流,如果是文件的话只支持wav格式的音频文件,因为wav格式的音频文件大部分都是P原创 2020-10-12 10:22:00 · 328 阅读 · 0 评论 -
Android Binder机制初识(一)
进程间通信(IPC)进程空间划分在Linux中,一个进程空间可以分为 用户空间(User space) & 内核空间(Kernel space),即把进程内 用户 & 内核 隔离开来;用户空间中的数据不可共享,内核空间中的数据可共享,这样做的目的在于保证内核的安全;进程内 用户 与 内核 进行交互 称为系统调用进程隔离与通信进程间通信(inter-Process Communication, IPC),是指两个进程之间进行数据交换的过程。而在Linux系统中为了保证 安全原创 2020-10-09 16:46:03 · 198 阅读 · 0 评论 -
Android audio框架初识
概述Audio音频子系统 是Android Framework 的一个重要的子系统之一,也是最复杂的子系统之一,其在Android中负责音频方面的数据流传输和控制功能,也负责音频设备的管理。一个完整的Android音频系统架构如下图所示:audio 框架分层application层应用层,调用音频服务的app或设置,如:音视频播放器、拨打电话、录音/录视频、音量设置等。Framework层Framework层包含java与c++,通过jni机制进行相互调用,主要分为以下三层:Framewor原创 2020-09-30 15:12:55 · 920 阅读 · 0 评论 -
Android init启动流程初识(基于Android10源码分析)
概要Android启动流程一般流程为:BootRom > Bootloader > Kernel > Init > Zygote > SystemServer > Launcher。其中,init进程是linux系统中用户空间的第一个进程,进程号为1.当bootloader启动后,启动kernel,kernel启动完后,在用户空间启动init进程,再通过init进程,来读取init.rc中的相关配置,从而来启动其他相关进程以及其他操作。init进程启动前/ke原创 2020-09-18 14:37:41 · 3097 阅读 · 0 评论 -
Android 四大组件初识
Android四大组件分别为activity、service、content provider、broadcast receiver。1. activity一个Activity通常就是一个单独的屏幕(窗口);Activity之间通过Intent进行通信;android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。2. serviceservice用于在后台完成用户指定的操作。service分为两种:原创 2020-09-18 09:51:42 · 165 阅读 · 0 评论 -
Android Framework初识
前言如下图所示, 从顶层到底层Android的四层架构分别为:应用程序层应用程序框架层运行层(系统Native库和Android运行时环境)Linux内核层其中Framework层为我们开发应用程序提供了非常多的API,使得开发者通过简单调用API即可开始APP的开发,而不用详细了解Android系统纷繁复杂的底层知识。下面详细介绍下Framework到底在整个Android架构中的功能与构造。Framework简介Framework是一个中间层,一方面向上提供基本服务接口API给应用原创 2020-09-11 17:22:43 · 1209 阅读 · 0 评论