自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 ADB 命令大全

Case1:报错Remote couldn't create file:Read-only file system。

2024-04-22 22:17:55 404

原创 Java 基础(二)

数组就是一个容器,用来存一批同类型的数据数组关键要素:定义及初始化、元素访问和元素遍历1.静态初始化数组数组变量名中存储的是数组在内存中的地址,数组是一种引用数据类型2.动态初始化数组定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组的长度JAVA 内存分配介绍方法区:字节码文件先加载到这里栈:方法运行时所进入的内存堆:new 出来的东西在这块内存开启空间本地方法栈寄存器数组常见案例:数组的遍历、数组求最值、数组的反转、数组元素排序。

2024-01-08 17:01:52 388

原创 Java 基础(一)

Java语言的产品是 JDK(Java Development Kit :Java开发者工具包) ,必须安装JDK才能使用Java语言。计算机中的数据最小的组成单位:字节(byte、B),每个二进制位(bit,简称b)JDK组成:JRE(JVM+核心类库) + 开发工具(JAVA、JAVAC)数据类型的分类:基本数据类型(4类8种)和引用数据类型(Srting)变量的注意事项:变量的名称、变量的类型和变量的使用范围。整数、小数、字符、字符串、布尔、空值。(1)单行注释、多行注释、文档注释。

2024-01-08 16:27:14 389

原创 多媒体框架

嵌入式Linux的GStearmer和HiStreamer。桌面Linux 的GStearmer和xine。Windows的DirectShow。android 中采用的多媒体框架。

2023-12-18 17:55:22 369

原创 Android 基础篇

对Android应用程序而言,应用组件主要由Activity、Service、Broadcast Receivers、Intent、Content Providers、AndroidManifest等构成。Activity是与用户直接交互UI组件;Service是运行在后台、用户不可见的服务组件;Broadcast Receivers是进行系统消息广播的广播组件;Intent是应用组件间、进程间进行通信的通信组件;Content Providers是不同应用间传递、分享数据的内容组件;

2023-12-18 12:02:39 384 1

原创 编程小续——术语总结

const 与 # define 、运算符new 与 delete 和 函数malloc 与 free ,this 关键字、static。数据的类型、数据的作用域、数据的访问权限、类的组成(数据+函数)=对象,对象的定义和使用、类成员的访问属性。函数重载、内联函数、引用 &、构造函数(分配空间,初始化参数)和析构函数(释放空间)、深拷贝和浅拷贝、友元。

2023-09-04 19:42:43 70

原创 展锐平台音频框架

在android 平台上,音频驱动采用DPCM 的 方式(即PCM device)对FE进行固定,BE 采用动态配置的方式进行选择。——extra_sound_card_component.dtsi //Ext Smart PA 的dai-link。VBC DT、I2S DT、sprd_fe_dai DT(sound card FE/BE 架构里)(1)一类是面向DAL-Link 的FE,主要实现了DMA相关的设置已经数据流向的控制。(2)一类用于DAI-Link 的BE,实现与FE的连接。

2023-08-31 10:50:43 1275

原创 Android Audio 系统(深入理解)

AudioFinger 工作引擎 管理着系统中的输入输出音频流、承担音频数据的混音、读写Audio 硬件等工作以实现数据的输入输出功能。IAudioTrack中有一个共享内存,其头部是一个audio_track_cblk_t(简称CB)对象,在该对象之后才是数据缓冲区。java:getminbuffersize 确定应用层分配多大的数据buffer——采样率、采样位深和声道数。set() 函数、audio_io_handle_t 类型 内部工作线程号。(1)根据音频数据的特性来确定所要分配的最小缓冲区。

2023-08-30 11:17:54 343

原创 Android 多媒体 小结

1.Android 1.0到Android 2.3.7:基于OpenCore框架的StagefrightPlayer。2.Android 4.0到Android 4.3:基于OpenCore框架的AwesomePlayer。3.Android 4.4及之后的版本:新的多媒体框架ExoPlayer。Bn——Binder native——本地服务——Server。Bp——Binder proxy——代理对象——Clinet。音频解码、音频合成和音效处理——稳定清晰。客户——代理——服务。

2023-08-24 11:50:15 708

原创 0815 音频知识小结

Android 音频框架从上到下总体上可分为Application 应用层,Framework Java 框架层,Libraries C ++ 库层,Hal 硬件抽象层,Tinyalsa Library API ,Kernel Audio(Alsa Core、Asoc Core)和Hradware。硬件相关:结构(声学设计、麦克风阵列)、外围器件(扬声器、麦克风)和处理器(ARM、DSP、GPU)语音增强、噪声抑制、混响处理、回声消除、声源定位和波束形成。

2023-08-15 16:29:59 45

原创 android 系统如何调节音量

4.Audioserver:: adjuststreamvolume 主要做两件事。3.总音量=主音量 * 流音量 * 音轨音量(可单独调节左右声道)(1)通过adjustIndex 更新 index。(2)发送消息给setDeviceVolume。(1)获取当前stream 的index 值。按键、设置界面,应用UI界面,下拉状态栏。(3)应用音量的Db 值,实现音量的变化。(2)将Index 值转换层DB 值。

2023-08-04 16:46:47 1774

原创 深入理解Android 系列 之 音频系统

韦伯定律——引起感官变化的刺激量并不仅仅取决于前后变化量的绝对差值,同时也与原来的刺激量有关,S = ClogR。奈奎斯特采样定律:当被采样的模拟信号进行还原时,其最高频率只有采样频率的一半。4.1 环绕立体声:5个喇叭,前左,前右,后左,后右,.1 代表低音喇叭。(1)文件格式(File Format)和文件编码器(Codec)的区别。流程:采集、转换、渲染处理、压缩、存储、解压缩、渲染处理、转换、播放。人的声音范围20~20KHz,太小容易失真,太大浪费资源。(1)正确的规划音频流的路径。

2023-08-04 11:58:09 265

原创 Linux 核心工作原理

(1)实现多任务,翻译成现代汉悟语就是支持多进程的内存空间隔离,对每个进程来讲,它都看到4G内存,所以应用程序可以随意使用这4g内存,而不必关心别的进程是否也用到。(1)同一时间,只有一个程序在使用CPU,在逻辑CPU 上运行时,他们将提供轮询调度的方式循环执行。一个进程可以定义为:“程序执行时的一个实例”,或者一个运行程序的执行上下文。(3)逻辑CPU的状态:进程1,进程2... 空闲状态。(2)进程的状态:就绪态、运行态、睡眠态和僵尸态。对父进程返回子进程的ID,对子进程返回0。第二部分 进程管理。

2023-08-03 15:38:34 94

原创 音频开发之必知必会

AIF、DAC、ADC、Mixer、PGA、Line-in、Line-out 部件。(1)Linux ALSA 音频系统架构 图(5部分)(1)ALSA/ASoC 中硬件设备关系图。1.1 Linux ALSA 综述。(2)PCM 逻辑设备的建立。(5)PCM 数据流向图。

2023-07-26 14:31:18 70

原创 声卡驱动 DAMP

(3)snd_kcontrol_new结构中,几个主要的字段是get,put,private_value,get回调函数用于获取该控件当前的状态值,而put回调函数则用于设置控件的状态值,而private_value字段则根据不同的控件类型有不同的意义,比如对于普通的控件,private_value字段可以用来定义该控件所对应的寄存器的地址以及对应的控制位在寄存器中的位置信息。

2023-07-25 16:03:05 105

原创 Liunx ALSA 驱动模型

ALSA是 Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构, 在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。ALSA 的软件体系结构用户空间的alsa-lib对应用程序提供统一的API接口,这样可以隐藏了驱动层的实现细节,简化了应用程序的实现难度。

2023-07-24 11:52:16 172

原创 Java 学习

不同的数据结构适用于不同的问题和操作。泛型可以在编译时提供类型检查,确保代码中使用的数据类型是安全的,可以避免在运行时出现类型转换错误或类转换错误,提高代码的稳定性和安全性。1.函数式接口:指的是只包含一个抽象方法的接口,接口中的方法简单的说明了接口的用途, 例如,线程接口 Runnable。5.4 代码可读性:使用集合可以提高代码的可读性和可维护性,因为他能够直观地表示数据的逻辑关系和操作。5.2 数据结构选择:可以根据实际需要,选择不同的类型集合来满足不同的存储的操作需求。

2023-07-23 16:31:53 40

原创 综合网站推荐

JAVA 学习:https://topjavaer.cn/

2023-07-06 11:13:20 75

原创 Linux 音频 专业名词 解析

在Linux音频中,"hostless"通常指的是一种音频系统设计,其中音频处理功能不依赖于主机(即计算机系统)。这种设计可以提供更高的音频处理性能和更低的延迟,因为音频数据可以直接在音频设备上进行处理,而不需要通过主机进行传输和处理。音频前端是音频子系统的一部分,负责接收和处理来自外部音频源的音频信号。在Linux音频中,CLK代表时钟(Clock)。时钟在音频系统中起着关键的作用,它用于同步和定时音频数据的传输和处理。在Linux音频系统中,时钟通常由音频硬件提供,并由音频驱动程序进行配置和控制。

2023-07-04 08:48:42 84

原创 Android 多媒体 目录解析

"media"目录包含了与音视频处理功能相关的源代码文件、配置文件和资源文件等,用于实现Android系统中的音视频功能,包括音频播放、视频播放、音频录制、视频录制等。"services"目录包含了与音视频服务相关的源代码文件,用于提供音视频服务,如音频播放服务、视频播放服务、音频录制服务、视频录制服务等。是Android中与音视频相关的代码和组件的存放位置,包含了媒体相关的代码、媒体服务、测试代码和构建脚本等。包含了一些与音视频处理相关的头文件,定义了一些用于音视频处理的数据结构、函数和常量等。

2023-06-27 10:54:44 271

原创 Android Audio 之音量控制

涉及文件:AudioSystem关键方法和成员变量。

2023-06-13 11:19:43 112

原创 展锐平台 音频CVS 算法介绍

单麦克(Mono)、反转单麦(iMono)、双麦(Dual)、反转双麦(iDual)、滤波(Filter only)、关闭(Copy)8.EQ Filtter 模块 图形均衡滤波器。覆盖抑制后的背景扰动,已获得更好的主观效果。3.Echo Canceller 模块。7.HP Filter 模块 高通滤波器。2.Channel Mode 模块。1.Band Width 选项。控制非线性回声抑制的打开和关闭。控制语音保护模块的打开和关闭。控制噪声抑制打开和关闭的模块。9.Tone 模块 纯音保护。

2023-05-25 14:03:44 236

原创 AudioFlinger 类库介绍

如果函数或方法执行成功,它将返回一个值为 0 的 status_t,否则它将返回一个非零值,表示执行出现了错误或异常。它通常用于在不同的音频应用程序之间共享音频数据,例如在音乐播放器和音频编辑器之间传递音频数据。passtheubufferprovider使用了一种称为"ubuffer"的技术,可以在不复制数据的情况下传递音频数据,从而提高了音频处理的效率和性能。它通常用于在不同的网络应用程序之间转发数据。audio_hw_device_get_master_volume:获取当前音频主音量的值。

2023-05-12 15:57:20 114

原创 Android Frameworks Audio

如果焦点请求成功,您的视图将成为用户当前正在与之交互的视图,并且将接收用户的输入事件。例如,当音频焦点发生变化时,如从一个应用程序切换到另一个应用程序时,AudioServiceEvents 可以记录这些事件,并将它们保存在系统日志中。例如,当音频设备的状态发生变化时,如插入或拔出耳机,AudioEventLogger 可以记录这些事件,并将它们保存在系统日志中。在 Android 应用程序中,媒体焦点是一个非常重要的概念,它表示当前正在播放媒体的应用程序是否有权利控制音频焦点。

2023-05-10 09:38:54 246

原创 AudioService

在Android中,音量这个概念一定是描述的某一种流类型的音量。方式:(1)按键控制 (2)滑动条控制。

2023-05-09 16:48:35 55

原创 音频好文分享

ALSA框架介绍-音频通路

2023-05-06 10:26:49 40

原创 Linux 之 内存管理

(2)内核为进程分配内存的时机大体分为2种。malloc(): 以字节为单位获取内存。mmap() : 以页为单位获取内存。2.在创建完进程后,动态分配内存时。(2)访问用于其他用途的内存区域。(1)原因:内存不足。(3)难以执行多任务。

2023-04-25 15:25:01 40

原创 AudioPolicyService

创建过程:Step 1:创建三个 AudioCommandThreadmTonePlaybackThread,mAudioCommandThread 和 mOutputCommandThreadStep 2:初始化 AudioPolicyManager(1)加载并解析 audio_policy_configuration.xml(2)加载对应的 HW module(3)初始化 Policy Engine(4)打开输入输出(5)确保所有可用输入输出设备和默认输出设备真正可用。

2023-04-24 09:16:10 76

原创 0323一页纸

扳级(Board):pike,qogirl,sharkl。芯片平台:UMS312,UMS512,UMS9230。开发板:ums312_1h10。

2023-03-23 21:11:42 91

原创 AudioPatch概念

Android Audio中的AudioPatch概念

2023-02-13 14:11:45 363

原创 AudioPolicy

音频配置文件

2023-02-10 14:43:33 181

原创 Audioservice、Audiomanager和Audiosystem

audioservice、audiomanager和audiosystem的关系

2023-02-09 16:56:52 561

原创 Linux 基础

Linux 基础

2023-01-31 15:34:23 43

原创 常用 ADB 命令

常用 ADB 命令

2023-01-31 14:19:11 297

原创 主流平台及型号分类

主流平台及型号分类

2023-01-31 14:13:43 92

原创 Android 源码目录结构

android 目录

2023-01-14 16:11:06 502

原创 Android 编译系统

android 编译基础

2023-01-12 10:02:58 252

原创 音频专业术语解析

Limiter TH 限幅器NR 噪声抑制AEC 回声消除NREC NR+AECSide-tone 侧音 免提有空旷感

2023-01-09 09:20:43 165 1

原创 设备树 DTS

设备树(Device Tree)

2023-01-06 12:09:01 524

原创 Audio Kernel

Audio Kernel

2023-01-06 11:59:42 144

空空如也

空空如也

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

TA关注的人

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