自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

峭壁小松home

Android技术学习

  • 博客(16)
  • 收藏
  • 关注

转载 ALSA声卡驱动中的DAPM详解之二:widget-具备路径和电源管理信息的kcontrol

ALSA声卡驱动中的DAPM

2022-10-27 22:02:48 606

转载 ALSA声卡驱动中的DAPM详解之一:kcontrol

Linux声卡驱动 - ALSA的DAPM模块

2022-10-27 21:20:17 644

转载 Linux系统下如何运行.sh文件

在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh):1、在任何路径下,输入该文件的绝对路径/root/datelog.sh就...

2020-04-07 21:33:41 367

转载 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 2395

原创 使用Android源码编译镜像,并刷入Pixel2

参考链接:https://blog.csdn.net/y874961524/article/details/86813713 https://blog.csdn.net/zz531987464/article/details/94163954环境需求背景: 在Android源码学习中,少不了加日志修改逻辑等操作,那么就需要将编译好的apk、jar、so等p...

2020-02-19 20:29:07 2276

原创 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 99

原创 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 1138

原创 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 1740 1

原创 Android设备选择原理

手机输出设备有很多,如听筒、扬声器、蓝牙耳机等都是常用的输出通路;对于音频类的apk开发,Android提供了诸如MediaPlayer、AudioTrack、AudioManager等接口;本篇主要讲解手机如何选择设备的; 直接从AudioTrack.cpp的createTrack_l说起,这个方法中会调用getOutputForAttr方法来获取输出的output通路。ou...

2019-11-17 23:45:18 860

原创 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 518

转载 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 368

原创 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 466

转载 java中线程的作用

转载链接:http://blog.sina.com.cn/s/blog_70a568f40100qbzt.html这是javaeye上非常经典的关于线程的帖子,写的非常通俗易懂的,适合任何读计算机的同学. 线程同步我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程...

2018-05-07 23:49:04 417

转载 Android存储路径与对应方法

2018-03-21 22:42:31 134

转载 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 209

原创 MediaExtractor与MediaCodec使用方法

    在学习了AudioTrack播放pcm数据之后,又了解到很多APP不是使用MediaPlayer对音视频文件进行播放的。而是使用解码器,从音视频文件中解码出pcm原生数据,然后使用AudioTrack.java将音频播放出来。所有对其实现过程产生了兴趣,并进行了学习。总结如下:1. MediaExtractor和MediaCodec的初认知:   MediaExtractor:a. 将音视...

2018-02-25 14:08:00 4460 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除