欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > android13 RK3588芯片,录音没有声音

android13 RK3588芯片,录音没有声音

2024/11/30 20:06:32 来源:https://blog.csdn.net/baidu_37552881/article/details/142340680  浏览:    关键词:android13 RK3588芯片,录音没有声音

针对安卓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 */};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com