- 博客(16)
- 收藏
- 关注
转载 Linux系统下如何运行.sh文件
在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh):1、在任何路径下,输入该文件的绝对路径/root/datelog.sh就...
2020-04-07 21:33:41
423
转载 Android 8.0替换framework.jar和services.jar
之前搞系统开发时,要验证framework中的逻辑,直接替换framework.jar,自己的博客也记录了修改方法:编译framework.jar,并验证自己的修改。现在针对Android 8.0还使用之前的验证方式,发现不生效,原来framework编译的目标文件已经改变了详细如下:adb push out\target\product\xxx\system\f...
2020-02-19 20:36:46
2654
原创 使用Android源码编译镜像,并刷入Pixel2
参考链接:https://blog.youkuaiyun.com/y874961524/article/details/86813713 https://blog.youkuaiyun.com/zz531987464/article/details/94163954环境需求背景: 在Android源码学习中,少不了加日志修改逻辑等操作,那么就需要将编译好的apk、jar、so等p...
2020-02-19 20:29:07
2414
原创 C++ 知识点学习笔记 --- 持续更新
学习C++语言过程中记录:1. 必须在声明引用时将其初始化,而不能像指针那样,先声明后赋值;也就是说,可以通过初始化申明来设置引用,但不能赋值来设置;int x = 100;int & x_ref = x; //在声明引用时,同时必须其初始化错误示例:int x = 100;int & x_ref;x_ref = x; //inval...
2019-11-27 22:54:00
123
原创 AudioFlinger启动过程及threadLoop的调用
AndroidQ版本上,main_audioserver.cpp的main函数将启动audioserver进程,AudioFlinger服务就在这个进程中。int main(int argc __unused, char **argv){ AudioFlinger::instantiate(); AudioPolicyService::instantiate();}i...
2019-11-25 23:20:45
1260
原创 Android音频 源码简读 (一) ------ AudioTrack的创建及start
音频播放是Android设备的基本功能,特意整理了一片篇关于AudioTrack、AudioFlinger相关的播放流程;接下来,我们从AudioTrack的创建(createTrack)和播放(start)来跟踪流程; 1. 首先从output说起,output可以理解为hal层的音频通路,有primary out、lowlatency out、offload、dir...
2019-11-18 21:55:16
2034
1
原创 Android设备选择原理
手机输出设备有很多,如听筒、扬声器、蓝牙耳机等都是常用的输出通路;对于音频类的apk开发,Android提供了诸如MediaPlayer、AudioTrack、AudioManager等接口;本篇主要讲解手机如何选择设备的; 直接从AudioTrack.cpp的createTrack_l说起,这个方法中会调用getOutputForAttr方法来获取输出的output通路。ou...
2019-11-17 23:45:18
3318
原创 ACodec 数据从解码到渲染的一段
OMXNodeInstance.cppOMX_ERRORTYPE OMXNodeInstance::OnFillBufferDone()msg-omx_message::FILL_BUFFER_DONEAcodec.cppbool ACodec::BaseState::onOMXFillBufferDone(){ mCodec->mBufferChannel->dr...
2019-10-21 20:57:35
570
转载 Android.mk学习笔记
转载自:http://www.cnblogs.com/langlang/1. LOCAL_PATH := $(call my-dir){ 首先需要指定LOCAL_PATH变量,用于查找源文件 上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径}2. Android.mk中可以定义多个编译模块,每个编译模块都是以include $(CLEAR_VA...
2019-03-19 23:23:37
437
原创 Android中MetaData.cpp数据存储学习
代码路径:frameworks\av\media\libstagefright\foundation\MetaData.cpp这个是在学习NuPlayer的时候看到的,觉得有必要记录一下,积累C++数据存储的技巧;在NuPlayer的getFrameRate()函数中,用到了MetaData,所以从这里开始记录:float NuPlayer::getFrameRate() { s...
2018-10-21 14:33:23
527
转载 java中线程的作用
转载链接:http://blog.sina.com.cn/s/blog_70a568f40100qbzt.html这是javaeye上非常经典的关于线程的帖子,写的非常通俗易懂的,适合任何读计算机的同学. 线程同步我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程...
2018-05-07 23:49:04
446
转载 Android开发去除标题栏title
一、Android开发去除标题栏title其实非常简单,他有两种方法,一种是在代码中添加,另一种是在AndroidManifest.xml中添加:1、在代码中实现:在此方法setContentView(R.layout.main)之前加入:requestWindowFeature(Window.FEATURE_NO_TITLE);标题栏就没有了。2、在AndroidManifest.xml...
2018-03-17 22:46:02
256
原创 MediaExtractor与MediaCodec使用方法
在学习了AudioTrack播放pcm数据之后,又了解到很多APP不是使用MediaPlayer对音视频文件进行播放的。而是使用解码器,从音视频文件中解码出pcm原生数据,然后使用AudioTrack.java将音频播放出来。所有对其实现过程产生了兴趣,并进行了学习。总结如下:1. MediaExtractor和MediaCodec的初认知: MediaExtractor:a. 将音视...
2018-02-25 14:08:00
4659
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人