我正在寻求帮助,因为我对此感到有点沮丧...... :-(
我有一个带有 PiFi DAC+ 的 headless Raspberry PI 3声卡,基本上是 HiFiBerry 的克隆。在我安装的 PI 上 mpd和 mpc作为客户。
在这些之上,我编写了一个 python 脚本,它调用一些 mpc 命令来控制底层 mpd 守护进程(加载播放列表、播放流......)。
现在的问题。
基于 hifiberry-dacplus 覆盖的整体音频设置效果很好,声音很好,我很好。 Mpc & mpd 工作,我可以通过 mpc 毫无缺陷地控制 mpd 的所有功能(至少是我需要的功能)......但是,如果我突然尝试运行我的 python 脚本,我就再也听不到任何声音了,即使没有具体的错误被追踪。
“可怕”的事情是,在中止脚本执行后,我不再能够播放任何声音(我尝试使用 aplay 处理几个 wav 文件),并且日志文件中再次没有出现特定错误......看起来就像有人只是“静音”了音量,但是 alsamixer
将所有播放级别显示为 100%。我需要重新启动 PI 才能恢复声音。
我在通常的地方检查了线索:
我也跑
aplay -vvv
当音频被阻止并将输出与音频运行良好但我没有注意到任何区别的 session 进行比较时...我知道如果无法访问我的系统就很难诊断问题,但是如果出现问题,您有什么想法可以去哪里了解吗?
仅供引用,这是我的
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 本身。
只需为背光控制引脚(我不需要它)保留默认的“无”值就可以了。
关于python - 树莓派 3 : Unusual behaviour with mpd, PiFi DAC+ 音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48978654/