3

我正在尝试为学校项目制作闹钟。我看到了相同的教程,发现了 playsound 库。在视频中,即使路径不是根目录,它也能正常工作,但我的情况并非如此。

这有效:

from playsound import playsound  

playsound('C:/final.wav')

但这不会:

from playsound import playsound 
 
playsound('C:/a/final.wav')

同样,D:/final.wav有效但无效D:/Download/final.wav

这是错误:

Exception has occurred: PlaysoundException

    Error 259 for command:
        play C:/a/final.wav wait
    The driver cannot recognize the specified command parameter.
  File "D:\vs code\testo.py", line 2, in <module>
    playsound('C:/a/final.wav')

我努力了:

  • 放置//\代替/路径
  • 确保文件夹的权限正确(它们与根目录相同)
  • 将音频文件与代码放在同一目录中,只需键入playsound('final.wav'),它就可以工作。
4

1 回答 1

0

这个问题是一个已知问题,已在此处描述

在我的测试环境(Python 3.9、Windows 11)中,以下命令均不起作用:

playsound.playsound('D:\\StarWars3.wav')

或者

playsound.playsound(r'D:\StarWars3.wav')

当前版本的playsound库会出现此问题,可以通过安装以前的版本来解决:

pip uninstall playsound
pip install playsound==1.2.2

此外,如果您的程序打算在多个系统环境中运行,那么使用相对路径可能是一种更好的方法。例如,在 Python 脚本的同一目录中创建一个单独的“Audio”文件夹并将音频文件存储在那里,您的代码可以简化为:

import playsound


playsound.playsound('Audio/StarWars3.wav')

无需过多担心正确编写路径即可完美运行。

于 2021-10-03T15:05:52.223 回答