OHOS 5.0.2 基于alsa 适配audio,音乐播放器耳机有声音,但capture始终播放有问题

哪位大佬帮忙解答下疑惑,我正在ohos5.0.2上移植audio,使用如下的设备树的es8388的描述,通过系统默认的音乐播放器有声音,但是arecord去录制音频,播放时无声音:
es8388_sound: es8388-sound {
status = "okay";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,es8388";
hp-det-gpio = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
io-channels = <&saradc 3>;
io-channel-names = "adc-detect";
spk-con-gpio = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
hp-con-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
linein-type = <0>;
rockchip,format = "i2s";
rockchip,mclk-fs = <384>;
rockchip,cpu = <&i2s0_8ch>;
rockchip,codec = <&es8388>;
rockchip,audio-routing =
"Headphone", "LOUT1",
"Headphone", "ROUT1",
"Speaker", "LOUT2",
"Speaker", "ROUT2",
"Headphone", "Headphone Power",
"Headphone", "Headphone Power",
"Speaker", "Speaker Power",
"Speaker", "Speaker Power",
"LINPUT1", "Main Mic",
"LINPUT2", "Main Mic",
"RINPUT1", "Headset Mic",
"RINPUT2", "Headset Mic";
pinctrl-names = "default";
pinctrl-0 = <&hp_det>;
};
但是修改audio-routepath之后,如下:
es8388_sound: es8388-sound {
status = "disabled";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip,es8388";
hp-det-gpio = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
io-channels = <&saradc 3>;
io-channel-names = "adc-detect";
spk-con-gpio = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
hp-con-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
linein-type = <0>;
rockchip,format = "i2s";
rockchip,mclk-fs = <384>;
rockchip,cpu = <&i2s0_8ch>;
rockchip,codec = <&es8388>;
rockchip,audio-routing =
"Headphone", "LOUT1",
"Headphone", "ROUT1",
"Speaker", "LOUT2",
"Speaker", "ROUT2",
"Headphone", "Headphone Power",
"Headphone", "Headphone Power",
"Speaker", "Speaker Power",
"Speaker", "Speaker Power",
"LINPUT2", "Main Mic",
"RINPUT2", "Main Mic",
"LINPUT1", "Headset Mic",
"RINPUT1", "Headset Mic";
pinctrl-names = "default";
pinctrl-0 = <&hp_det>;
};
表现的结果却是,通过系统默认音乐播放器耳机无声音,但是arecord录制的音频是可以播放的,所以我有几个疑问:
1. 我调整的是audio-routing的MIC部分,为什么会影响到播放呢?
2. 我如果使用第一种方案,让arecord能够正常播放音频的话,应该调整那些地方呢?
请各位大佬帮忙看看,非常感谢。
您需要先 登录 才能评论/回答

全部评论(2)
调整麦克风部分的路由可能改变了音频流的默认输出路径,导致原本用于音乐播放的耳机线路被分配给了其他用途(比如主麦克风)。当系统默认的音乐播放器尝试通过这个修改后的路径发送音频时,没有声音可能是由于线路配置不正确或者设备支持的问题。

2025-05-28 10:16:12