【问题标题】:How to fix "Unable to load sound" error with Python Playsound Module?如何使用 Python Playsound 模块修复“无法加载声音”错误?
【发布时间】:2022-01-21 16:00:06
【问题描述】:

前段时间我做了一个小项目,最近我觉得给它添加一些声音会很酷。所以我寻找在 Python 3.x 中播放声音的方法,Playsound 得到了很好的评价。我的设置是这样的:我有文件夹Python Projects,里面有Sound Test 但是当我尝试播放我的音频文件(test.wav)时,它会抛出以下错误:

Traceback (most recent call last):
  File "soundtest.py", line 2, in <module>
    playsound('test.wav')
  File "/Users/rhett/env/lib/python3.7/site-packages/playsound.py", line 67, in _playsoundOSX
    raise IOError('Unable to load sound named: ' + sound)
OSError: Unable to load sound named: file:///Users/rhett/Desktop/Python Projects/Sound Test/test.wav

我尝试使用直接路径,例如:

from playsound import playsound

playsound(/Users/Rhett/Desktop/Python\ Projects/Sound\ Test/test.wav)

我收到了完全相同的错误:

Traceback (most recent call last):
  File "Sound Test/soundtest.py", line 2, in <module>
    playsound("/Users/Rhett/Desktop/Python\ Projects/Sound\ Test/test.wav")
  File "/Users/rhett/env/lib/python3.7/site-packages/playsound.py", line 67, in _playsoundOSX
    raise IOError('Unable to load sound named: ' + sound)
OSError: Unable to load sound named: file:///Users/Rhett/Desktop/Python\ Projects/Sound\ Test/test.wav

【问题讨论】:

  • 文件与您的脚本位于同一文件夹中的事实无关紧要 - 相对路径是针对当前工作目录 (en.wikipedia.org/wiki/Working_directory) 解析的,而不是针对您脚本的位置。尝试使用绝对路径,看看会发生什么。
  • 刚试了一下,还是一样的错误。
  • 请编辑您的问题,然后使用绝对路径和确切的错误消息添加代码。
  • 注意:添加了 macos 标签,因为您的问题在某种程度上是特定于 macos 的(至少事实上您没有更明确的错误消息)。
  • 哦,是的:您可以在调用 playsound 之前尝试在“soundtest”模块中打开文件(然后关闭它...),这样您至少会知道问题是否真的存在一个 IOError,如果是,是哪个。

标签: python python-3.x macos python-playsound


【解决方案1】:

我找到了问题所在。 在python3.7/site-packages/playsound.py 文件中 开发者没有检查文件路径中的“ ”空格,所以文件路径中的空格字符会造成麻烦。

无需更改 playsound.py 代码的快速修复。 替换您的文件夹名称 ~/Desktop/Python Projects/Sound Test/test.wav~/Desktop/PythonProjects/SoundTest/test.wav

(即,从文件夹名称中删除空格)

这将解决您的错误。

【讨论】:

    【解决方案2】:

    这让它可以工作......

    s_musicfile = "/Users/xxxxxxxxxx/Desktop/play this file.mp3"
    
    s_musicfile = s_musicfile.replace(" ", "%20")
    
    playsound(s_musicfile)
    

    【讨论】:

      【解决方案3】:

      我认为这会奏效,尤其是当它用于覆盆子时:

      Python 2:

      sudo apt install python-gst-1.0
      

      Python 3:

      sudo apt install python3-gst-1.0
      

      【讨论】:

        猜你喜欢
        • 2021-11-03
        • 1970-01-01
        • 1970-01-01
        • 2019-11-12
        • 1970-01-01
        • 2019-12-01
        • 1970-01-01
        • 2022-01-20
        • 1970-01-01
        相关资源
        最近更新 更多