针对安卓apk录音需要添加如下:
diff --git a/tinyalsa_hal/audio_hw.c b/tinyalsa_hal/audio_hw.c
index fb1471e..607ae6f 100755
--- a/tinyalsa_hal/audio_hw.c
+++ b/tinyalsa_hal/audio_hw.c
@@ -2870,6 +2870,27 @@ static void in_apply_ramp(struct stream_in *in, int16_t *buffer, size_t frames)in->ramp_frames -= frames;}+static void record_set_volume(void* buffer, size_t bytes, int gain)
+{
+ short *pcm_data = (short *)buffer;
+ int pcm_val;
+ int i;
+
+ for(i=0; i<(bytes/2); i++) {
+ pcm_val = pcm_data[i] * gain;
+ if (pcm_val < abs(32767) ) {
+ pcm_data[i] = pcm_val;
+ }
+ else if (pcm_val > 32767) {
+ pcm_data[i] = 32767;
+ }
+ else if (pcm_val < -32767) {
+ pcm_data[i] = -32767
+ }
+ }
+}
+/*** @brief in_read*
@@ -2930,6 +2951,8 @@ static ssize_t in_read(struct audio_stream_in *stream, void* buffer,bytes = frames_rd * audio_stream_in_frame_size(stream);}+ if (in->device & AUDIO_DEVICE_IN_BUILTIN_MIC)
+ record_set_volume(buffer, bytes, 6);dump_in_data(buffer, bytes);
添加上声卡的名字:
/hardware/rockchip/audio/tinyalsa_hal$ git diff ./
diff --git a/tinyalsa_hal/audio_hw.c b/tinyalsa_hal/audio_hw.c
index 4b3b614..f5778c2 100644
--- a/tinyalsa_hal/audio_hw.c
+++ b/tinyalsa_hal/audio_hw.c@@ -307,6 +307,7 @@ struct dev_proc_info SPEAKER_OUT_NAME[] = /* add codes& dai name here*/{"rockchiprt5640c", "rt5640-aif1",},{"rockchiprt5670c", NULL,},{"rockchiprt5672c", NULL,},
+ {"yourcardname", NULL,},{NULL, NULL}, /* Note! Must end with NULL, else will cause crash */};
@@ -353,6 +354,7 @@ struct dev_proc_info MIC_IN_NAME[] ={"rockchiprt5640c", NULL,},{"rockchiprt5670c", NULL,},{"rockchiprt5672c", NULL,},
+ {"yourcardname", NULL,},{NULL, NULL}, /* Note! Must end with NULL, else will cause crash */};