我正在寻找一些帮助'因为我对此有点沮丧... :-(
我有一个带有PiFi DAC+声卡的无头Raspberry PI 3,基本上是一个HiFiBerry克隆。在PI上我安装了mpd和mpc作为客户端。除此之外,我编写了一个python脚本,它调用一些mpc命令来控制底层的mpd守护进程(加载一个播放列表,播放一个流,......)。
现在问题。基于hifiberry-dacplus叠加的整体音频设置运行良好,声音很好,我也很好。 Mpc&mpd工作,我可以通过mpc控制mpd的所有功能(至少是我需要的)没有缺陷......但是,如果我试图突然运行我的python脚本,我再也听不到任何声音了,即使没有特定的错误被追踪。
“可怕”的事情是,在中止脚本执行后,我无法播放任何声音(我尝试使用aplay播放几个wav文件),并且日志文件中没有显示特定错误...看起来就像有人'静音'音量一样,但alsamixer
将所有播放电平显示为100%。我需要重新启动PI以恢复声音。
我检查了通常地方的线索:
当音频被阻止时我也运行aplay -vvv
并将输出与音频运行正常的会话进行比较但我没有注意到任何差异......
我知道在没有访问我的系统的情况下诊断问题是非常困难的,但是如果出现问题,您是否有任何想法可以理解?
仅供参考,这是我的aplay -l
输出:
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
谢谢!
米歇尔
编辑:似乎音频板和16x2 LCD显示器之间存在一些不兼容性,我用它来显示我正在播放的流的名称。基于HD44780芯片,显示器非常常见。
我的代码使用AdaFruit python库可用here驱动它,我仍然需要找出问题所在:音频板,根据HiFiberry docs通过GPIO 2,3,18,19,20,21连接(加地面和+ 5V用于供电),所以它不应该与使用不同引脚的LCD发生任何冲突,但我不打赌它。
无论如何,从python代码中删除LCD管理部分(但将显示器物理连接到RaspBerry引脚)显然解决了这个问题......
我会更新这个问题,也许对其他人有用,谁知道!
好,我知道了。像往常一样,我只是用CTRL-C和CTRL-V过快而没有正确阅读代码......
我没注意到我在我的python代码中留下了这个语句
lcd_backlight = 2 #GPIO pin to control lcd backlight
实际上GPIO 2(它是Raspberry上两个I2C使能引脚之一)没有连接到LCD,但它被音频板用于配置目的:这样,每当我尝试初始化LCD时,音频董事会以某种方式重新配置,使其“静音”。重置错误配置的唯一方法是重启PI本身。
只是保留背光控制引脚的默认“无”值(我不需要它)就可以了。