- 博客(11)
- 资源 (11)
- 收藏
- 关注
原创 android studio Arctic Fox 导入app之后kotlin在引用java的类无法识别
File -> Invalidate Caches / Restart... ->"Invalidated and Restart"
2021-10-26 17:34:54
883
原创 zram writeback 代码分析
目录正文zram writeback开关JobScheduler的API介绍ZramWriteback的实现正文zram writeback开关将settings的值存储到属性中,然后再执行zram writeback的schedule,正常情况下属性值是1和0这两种,如果没有值的话,则表示没有打开。frameworks/base/core/java/android/provider/Settings.java public static final
2021-07-09 14:26:08
2111
原创 insert effect 和 aux effect的区别和场景还有部分代码解析
为什么effect会有insert和aux这两种,一直困扰了我很久,后来无意中看到了调音台上面的概念,感觉概念应该是来自于这里,在android里面,insert effect是直接对播放的声音进行添加音效,而aux则是用在混音的场景,将自身的声音跟自身混在一起。先考虑两种场景:一种是这个track有自己的insert track和一个aux的全局音效 另外一种是这个track没有insert track,但是有一个aux的全局音效第一种情况:track有自己的insert effect
2021-07-09 10:19:07
595
1
原创 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
226
1
原创 Android 录制手机内部声音(screen recorder)framework层问题分析
这篇文章只讨论三点:先播放声音,再打开录屏工具,是如果保证正常录制的? 对于secondary output,他的输出设备是怎么选择的? 数据流是如何正常工作的?背景:Android的screen recorder应用层中对于手机内部声音录制部分的实现是通过AudioPlaybackCaptureConfiguration来进行录制系统声音,实现如下:连接:ScreenInternalAudioRecorder.java - Android Code Search88
2021-07-05 17:37:11
4601
3
原创 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
1325
原创 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
640
原创 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
381
原创 如何查看音频 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
660
转载 VLC采集camera数据DSS转发VLC查看直播
转自:https://www.douban.com/note/250717387/?qq-pf-to=pcqq.c2c pc1: vlc (192.168.1.6) pc2: dss (192.168.1.16) client:vlcpc1 中通过 vlc 串流出摄像头视频来,使用脚本为:"E:\\sofe\\VLC\\vlc.exe" -vvv dshow:// :sout=#transco
2017-07-20 10:55:55
627
原创 Darwin Streaming Server ubuntu搭建
Darwin Streaming Server ubuntu搭建步骤,附有解决web显示不全的方案。
2017-07-20 10:18:14
1306
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人