没有默认播放器播放mp3

时间:2016-04-24 05:23:04

标签: python-3.x pyglet

我尝试播放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.

1 个答案:

答案 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