安卓源码
王鑫鑫鑫
落花无意流水无情
展开
-
捋一捋MediaCodec,ACodec,OMX解码流程
wait原创 2019-11-11 10:39:03 · 1341 阅读 · 5 评论 -
安卓音频输出设备切换时framwork代码流程
安卓系统维护着很多种的streamType并且根据音频策略尽量做到了互不影响。这其中的复杂繁复程度绝不是我们使用手机播放个音乐那么简单。比如我们接上蓝牙耳机播放网易云音乐,此时此刻来了电话会怎样?底层代码流程会怎么处理?这些都是我们需要了解并熟知于心的。笔者也是刚接触不久,作此文仅当备忘与加强记忆。 比如我们正在播放音乐,玩家接入了蓝牙耳机会怎么处理呢?...原创 2019-09-28 13:56:23 · 1015 阅读 · 1 评论 -
安卓媒体流音量设置流程
安原创 2019-07-20 13:39:47 · 269 阅读 · 0 评论 -
安卓音量设置流程之MasterVolume
先附上时序图吧,后面会跟上代码讲解: 一、概述 安卓系统的音量主要有MasterVolume和StreamVolume来控制,这对于安卓开发人员来说并不陌生。MasterVolume就是系统音量,这个全局的变量影响着Android系统的所有音频通路;StreamVolume则对应着Android系统各种各样的StreamType音频流类型,比如...原创 2019-07-20 13:38:10 · 3972 阅读 · 0 评论 -
安卓音频系统启动流程
自Android6.0后,Audio系统便和Media系统分离,独立模块。所以了解Audio系统的启动流程就很有必要,它的启动入口位于:main_audioserver.cpp ,由rc文件引导,主要作用是调用了AudioFlinger和AudioPolicyService这两大模块的初始化接口。 1 进程入口//xref: /frameworks/av...原创 2019-07-19 11:05:31 · 1089 阅读 · 0 评论 -
安卓源码AOSP--强弱指针
1原创 2019-06-22 15:19:07 · 182 阅读 · 0 评论 -
安卓MediaPlayer源码跟读解析
简介: 安卓通过MediaPlayer这个类提供了一整套接口呈现给给客户实现视音频的播放。可是凡事必究其根,我们今天就来看看安卓的MediaPlayer框架(基于Android 8.0)究竟是怎么实现的。因为框架层全是C/C++代码,建议读者拥有相关基础,没有也没关系,都能看懂。概要: 先给出网上扒的MediaPlayer状态图,MediaPlayer常用...原创 2019-06-22 11:39:58 · 3036 阅读 · 3 评论 -
安卓源码消息机制----AMessage,ALooper,AHandler
在安卓底层框架中,大量使用了AMessage,ALopper,AHandler来实现消息循环处理机制。比如在Nuplayer底层播放器中使用了七八个进程来异步处理事务,其错综复杂程度如果单单使用一般的通信机制来处理,可能有点水果刀宰牛的感觉。于是强如谷歌另开发了一套消息循环处理机制来实现消息队列,这就是AMessage,ALopper,Ahandler三剑客。 顾名思义,消息,循...原创 2019-06-21 16:17:25 · 2583 阅读 · 0 评论 -
JNI入门介绍(Android Studio 3.4)
最近入手安卓的开发与学习,就迫不及待的下载了最新版的AS3.4。可是当我开发JNI程序时,却发现网上的方法大多已经过时,所以在此更新一波以做备忘。 环境:Win10 X86 64位 Android Studio 3.4稳定版 ...原创 2019-06-09 19:21:10 · 7634 阅读 · 5 评论 -
深入理解Binder
转载自:https://blog.csdn.net/innost/article/details/47208049。详细讲解Binder机制转载 2019-06-09 21:35:59 · 174 阅读 · 0 评论 -
安卓MediaPlayer框架之Binder机制
一、Binder简介 Binder是Android系统进程间通信的主要方式之一。 1.在ASOP中,Binder使用传统的C/S通信方式:即一个进程作为服务端提供诸如视音频解封...原创 2019-06-21 10:37:00 · 603 阅读 · 0 评论