{ hdmi_sound: hdmi-sound { status = "okay"; compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; simple-audio-card,mclk-fs = <256>; simple-audio-card,name = "rockchip,hdmi"; simple-audio-card,cpu { sound-dai = <&i2s2>; }; simple-audio-card,codec { sound-dai = <&hdmi>; }; }; }; &i2s2 { #sound-dai-cells = <0>; status = "okay"; }; &hdmi { #sound-dai-cells = <0>; status = "okay"; };
(1)dts配置
(2)编译后进入机器cat proc/asound/cards看是否有声卡
(3)有了hdmi声卡还是没声音的话确保硬件内部电路没问题可以
tinyplay 44.1k_2ch_16b_1k_15s.wav -D 0 -d 0
(4)播放不了的话注意是不是没有权限
ls dev/snd看下。
报错 cannot open device '/dev/snd/pcmC0D0p'
Unable to open PCM device 0.
cmd打开 root权限
adb root
adb remount
有声音代表内部硬件电路没问题
(5)cat sys/devices/platform/ff940000.hdmi/extcon/extcon2/state
看是否能检查到hdmi插入
如果不能请看frameworks/base/services/core/java/com/android/server/WiredAccessoryManager.java有没修改过.
(6)alps\frameworks\av\services\audiopolicy\enginedefault\src\Engine.cpp
这个文件也不能改.
基本就没什么问题了