Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当脚本从命令行运行时,pygame.mixer声音不播放_Python_Audio_Raspberry Pi - Fatal编程技术网

Python 当脚本从命令行运行时,pygame.mixer声音不播放

Python 当脚本从命令行运行时,pygame.mixer声音不播放,python,audio,raspberry-pi,Python,Audio,Raspberry Pi,我正在做一个Raspberry Pi项目,我有一个python脚本,它接受一些串行输入,并根据输入播放声音。我已经设置了脚本,当我在GUI(即startx)中运行它时,它运行得很好。如果我退出GUI并尝试从命令行运行脚本,脚本执行得很好,但我的声音不会播放。我只是得到一个短暂的静态点击。我可以判断脚本是否正在运行,因为我让它打印调试代码,并且打印工作正常。有没有办法让声音从命令行开始工作 我希望在没有用户输入的情况下打开Raspberry Pi时执行此脚本,我相信这意味着它将从命令行运行。如果出

我正在做一个Raspberry Pi项目,我有一个python脚本,它接受一些串行输入,并根据输入播放声音。我已经设置了脚本,当我在GUI(即startx)中运行它时,它运行得很好。如果我退出GUI并尝试从命令行运行脚本,脚本执行得很好,但我的声音不会播放。我只是得到一个短暂的静态点击。我可以判断脚本是否正在运行,因为我让它打印调试代码,并且打印工作正常。有没有办法让声音从命令行开始工作

我希望在没有用户输入的情况下打开Raspberry Pi时执行此脚本,我相信这意味着它将从命令行运行。如果出于某种原因,在GUI启动之前声音根本不会播放,我该如何设置它以加载GUI,然后在启动时执行脚本而无需任何用户输入


这将嵌入到道具中,并在按下某些按钮(通过arduino连接,即串行输入)时播放声音。因此,我需要一个解决方案,使其能够在开机时自动运行脚本,并且能够在不连接键盘、鼠标或显示器的情况下播放声音。

原来是文件路径命名。如果我对根目录进行了命令行测试,它将不起作用,但是如果我选择了“cd Desktop/containingFolder”,则声音将播放。我将演示如何在python脚本中设置文件,以使其正常工作


更新路径名修复了该问题。我只需要它们是完整路径,而不是相对路径。

您应该能够使用音频而不是视频初始化pygame。但是我没有用过rasberry pi。你有没有链接到你用来播放任何地方的音频的代码?我找到了。从命令行运行时,文件路径名需要不同。看看我的答案。对不起,我忘了接受它,因为它一天都不让我接受。