Android KK上对ALC5616调试笔记——音量调节

来源:互联网 发布:js数组添加json对象 编辑:程序博客网 时间:2024/06/05 18:28
Created with Raphaël 2.1.0analogADCCPU

大致流程是,模拟数据通过 line in 输入到ALC5616,经过寄存器 MX-0Fh (INL & INR Volume Control) 调节音量以后输入给ADC,ADC内部还有一次调节音量的机会,可以通过设置寄存器 MX-1Ch (Stereo1 ADC Digital Volume Control) 来实现。
如果觉得ALSA出来的数据不对的话,可以将底层数据读取出来,具体位置如下:

services/audioflinger/Threads.cppdiff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cppindex bf85b51..59b7d78 100644--- a/services/audioflinger/Threads.cpp+++ b/services/audioflinger/Threads.cpp@@ -4538,6 +4539,7 @@ bool AudioFlinger::RecordThread::threadLoop()                                 readInto = mRsmpInBuffer;                                 mRsmpInIndex = 0;                             }+                            //tag for 读取alsa数据 , 以及再往下追read函数的实现。                             mBytesRead = mInput->stream->read(mInput->stream, readInto,                                     mBufferSize);                             if (mBytesRead <= 0) {
原创粉丝点击