![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android tips
工作中用到的一些不太常用的指令的记录
lexiMee
这个作者很懒,什么都没留下…
展开
-
android studio Arctic Fox 导入app之后kotlin在引用java的类无法识别
File -> Invalidate Caches / Restart... ->"Invalidated and Restart"原创 2021-10-26 17:34:54 · 876 阅读 · 0 评论 -
AudioMixer中是如何决定track是否需要resample
目录1. AudioMixer中是如何决定track是否需要resample?2. 如果deep buffer同时支持48k和44.1k的话(底层默认是48k),播放44.1k的情况下,如何不重采样?1. AudioMixer中是如何决定track是否需要resample?AudioMixer内部有成员变量mSampleRate和mTracks,Track对象内部有个成员变量sampleRate,在MixerThread进行prepareTracks_l检查的时候,如果发现有激活的tra原创 2021-07-06 11:35:31 · 213 阅读 · 1 评论 -
QCOM 蓝牙 split a2dp ADSP 上下行流经过的节点
下行的数据:上图是红色带箭头的线是数据流经过ADSP中各个几点的信息,跟平时的区别就是从0x1586出来之后还需要送往0x1535和0x1536,最后才是递交给BT芯片。而0x1535->0x1536之间的模块就是encode,主要是进行SBC和APTX的编码,如下图:上行的数据:解码的芯片在152E之后,所以上行的数据得先送到152E进行解码,然后送到1586,再走正常的audio的tx路径上来。...原创 2021-07-02 20:08:03 · 1251 阅读 · 0 评论 -
android中的开发者模式关闭USB路由的实现
content://settings/secure/usb_audio_automatic_routing_disabledframeworks/base/services/usb/java/com/android/server/usb/UsbAlsaManager.java// 当有usb设备连接到手机上的时候,会将事件先通知到java层usb的manager来,然后执行selectAlsaDevice函数,进行判断是否将设备注册到音频系统,从而干预到声音的路由行为135 priva原创 2021-07-02 19:53:43 · 608 阅读 · 0 评论 -
QCOM 通话录音实现原理
上层依然是使用AudioRecord进行录制,source选择下面三种中的一种:AUDIO_SOURCE_VOICE_UPLINK 录制上行AUDIO_SOURCE_VOICE_DOWNLINK 录制下行AUDIO_SOURCE_VOICE_CALL 录制上下行audio_hw.c 里面会调用voice_check_and_set_incall_rec_usecase来判断source,从而决定用哪个usecase。mixer_paths.xml中的几个usecase: &原创 2021-07-02 19:44:34 · 366 阅读 · 0 评论 -
如何查看音频 audio trace kernel log
adb shell setenforce 0adb shell echo 1 > /d/tracing/events/asoc/enableadb shell echo 1 > /sys/kernel/debug/tracing/tracing_on // 触发下上面的enable生效。adb shell cat /sys/kernel/debug/tracing/trace_pipe | tee trace_log.txt用来查看TRACE_EVENT等相关的log...原创 2021-07-02 19:39:55 · 643 阅读 · 0 评论