我尝试播放mp3而没有使用默认播放器,所以我想尝试pyglet,但没有任何作用
import pyglet
music = pyglet.resource.media('D:/folder/folder/audio.mp3')
music.play()
pyglet.app.run()
我已经这样试过了
music = pyglet.resource.media('D:\folder\folder\audio.mp3')
并且像这样:
music = pyglet.resource.media('D:\\folder\\folder\\audio.mp3')
但有此错误
Traceback (most recent call last):
File "C:\Users\User\AppData\Roaming\Python\Python35\site-packages\pyglet\resource.py", line 624, in media
location = self._index[name]
KeyError: 'D:\folder\folder\audio.mp3'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:/PC/PyCharm_project/0_TEMP.py", line 3, in <module>
music = pyglet.resource.media('D:\folder\folder\audio.mp3')
File "C:\Users\User\AppData\Roaming\Python\Python35\site-packages\pyglet\resource.py", line 634, in media
raise ResourceNotFoundException(name)
pyglet.resource.ResourceNotFoundException: Resource "D:\folder\folder\audio.mp3" was not found on the path. Ensure that the filename has the correct captialisation.
答案 0 :(得分:0)
这是因为您加载资源的方式 试试这个代码:
import pyglet
music = pyglet.media.load(r'D:\folder\folder\audio.mp3')
music.play()
pyglet.app.run()
这种方式的工作方式是加载文件并将其放在pyglet.resource.media
容器中。由于名称空间和其他内容,您编写的代码只允许从工作目录加载资源。因此,您使用能够将所需资源加载到当前命名空间的pyglet.media.load
(注意:我可能会错过使用单词&#34; namespace&#34; here,for如果没有查看pyglet的源代码就没有更好的术语,这是我能想到的最好的描述。)
您可以通过将.mp3
放在脚本文件夹中并再次运行代码但使用相对路径进行试验:
import pyglet
music = pyglet.resource.media('audio.mp3')
music.play()
pyglet.app.run()
但我强烈建议您使用pyglet.media.load()
并查看at the documentation