自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android10 音频系统之AudioRecord

mAudioRecord是audioFlinger->openRecord返回得到的recordHandle类型,recordHandle使用AudioFlinger::recordTrack初始化),实际上调用的是AudioFlinger::RecordThread::RecordTrack::start方法。3.调用AudioRecord的stop方法,AudioRecord就是RecordHandle对象,所以调用的stop方法就是RecordHandle的stop方法。

2025-03-18 16:50:31 1068 1

原创 Anroid10 音频系统之数据传递

这和平时通过write系统调用往文件中写数据类似,但这种工作方式每次都需要把数据从用户提供的Buffer中拷贝到AudioTrack内部的Buffer中,这在一定程度上会使引入延时。MODE_STATIC:这种模式下,在play之前只需要把所有数据通过一次write调用传递到AudioTrack中的内部缓冲区,后续就不必再传递数据了。MODE_STREAM模式 会使用到环形缓存区来同步数据,一个生产数据,一个消费数据,这个时候使用环形缓冲区是最可靠的。环形缓冲区:初始R=0,W=0,buf长度为LEN。

2025-03-14 16:48:16 938

原创 Android10 音频系统之音频输出通道

本篇文章讲解音频输出通道的选择

2025-01-08 11:26:19 1421

原创 Android10 音频系统之音量曲线

本文深入探讨了Android音频策略中的音量控制,音量曲线的加载和修改

2024-12-31 16:13:31 1317

原创 Android10 音频系统之音量调节流程

有些知识点经常用的时候会觉得很熟悉,但是久了久了也会忘记,所有特意记录下来

2024-11-25 11:39:05 1080

原创 Wifi扫描

本文详述了Android中WiFi的扫描过程,从源码层面进行解析

2024-11-13 17:53:20 1003

原创 Bluetooth蓝牙开关与扫描

蓝牙开关与扫描分析

2024-11-04 15:17:52 499

原创 Bluetooth蓝牙配对

蓝牙配对源码分析

2024-11-04 14:31:25 1059

原创 Bluetooth蓝牙连接

当连接不同类型的蓝牙设备时,会用不同的profile去连接,此部分针对连接手机蓝牙进行源码分析

2024-11-01 11:30:13 417

原创 Java反射

最近工作上用的反射比较多,所有特意写了一个小demo来加深加深理解

2024-09-25 19:42:07 333

原创 Android10 Settings源码解析

Preference布局是一种不同layout布局的方式,主要用于settings设置中

2024-08-29 20:13:25 633

原创 Audio按键音量调节

按键音量调节

2024-08-27 14:22:12 544

原创 Android10 车载音频架构之动态路由的配置

通过contextNumber获取到usages,遍历usages将usage添加到mixingRuleBuilder中,然后再将mixingRuleBuilder添加到AudioMix中,将AudioMix addMix 到AudioPolicy中, 这样usage和device就关联上了。通过CONTEXT_NAME_MAP​​​​​​​关系,根据context可以找到contextNumber​​​​​​​。

2024-07-09 17:37:27 1289

原创 Android10 CarService

android automotive os中最重要的系统服务

2024-06-29 11:32:06 530

原创 Android10 bootAnimation启动过程

开机动画

2024-06-28 10:35:34 490

原创 Android10 车载音频架构之音频焦点的管理

两个或多个 Android 应用可以同时将音频播放到同一输出流,系统会将所有音频混合在一起。虽然这在技术上非常惊人,但可能会令用户非常头疼。为了避免每个音乐应用同时播放,Android 引入了“音频焦点”的概念。一次只能有一个应用获得音频焦点。 当您的应用需要输出音频时,它需要请求获得音频焦点,在获得焦点时,它可以发出声音。不过,获得音频焦点后,您可能无法将焦点一直保留到播放完成。其他应用可以请求焦点,从而抢占您持有的音频焦点。如果发生这种情况,您的应用应暂停播放或调低音量,以

2024-06-19 12:33:11 596

原创 Android10 requestPermissions权限申请流程

requestPermissions源码解析

2024-06-18 13:12:47 2274

原创 Android10 音频系统之耳麦插拔

硬件插上耳麦发生中断, 在中断处理程序中设置声卡让声音从耳机中输出,驱动程序上报音频拔插事件,该事件为某个device插入或拔出,接下来把输出通道的选择权交给android系统,由Android系统进行声音通道的切换操作

2024-06-17 23:12:09 761

原创 Android10 音频系统之AudioPolicyService

深入学习android audio

2024-06-17 18:10:17 479

原创 Android10 音频系统之AudioFlinger

AudioPolicyService与AudioFlinger是Android音频系统的两大基本组件。前者是音频系统策略的制定者,负责音频设备的切换、音量调节策略;后者是音频系统策略的执行者,负责音频流设备的管理及音频流数据的处理。

2024-06-17 18:03:31 482

原创 Android10 音频系统之AudioTrack

 Android上使用AudioTrack可以实现播放PCM。本文深入分析了Android的AudioTrack.cpp源码,详细解释了从AudioTrack.java到AudioTrack.cpp的工作流程。主要内容包括获取缓冲区最小值、AudioTrack对象的创建、音频数据的写入以及停止和释放方法

2024-06-17 17:56:45 1961

原创 Android10 音频系统之PlaybackThread

深入学习android audio

2024-06-16 16:34:16 451 1

原创 Android10 音频系统之HAL分析

Android的音频硬件抽象层(HAL)将更高级别的、android.media中的音频特定框架api和底层的驱动和硬件关联了起来。

2024-06-04 09:38:48 2533 3

空空如也

空空如也

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

TA关注的人

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