python - VS code Pygame 不加载 mp3 音乐
问题描述
我有以下代码在 Python IDle 中运行良好,但是在 VS 代码中运行它时,我无法让它播放 mp3 文件:
from pygame import mixer
mixer.init()
mixer.music.load('Sound.mp3')
mixer.music.play(-1)
它抛出此错误消息:
pygame 2.0.1 (SDL 2.0.14, Python 3.7.1)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "c:/Users/ilopezdeveloper/start.py", line 9, in <module>
mixer.music.load('Sound.mp3')
pygame.error: Couldn't open 'Sound.mp3'
我做了一些研究,但找不到任何可以解释问题所在的信息。最奇怪的是,如果我用 Python IDlE 打开文件,我可以毫无问题地听到 sound.mp3 文件播放。有谁知道问题是什么?谢谢你。
解决方案
正如@ Niko B在上面的评论中解释的那样,其他人可以使用这个问题的答案,这个问题与工作目录有关。IDlE 的默认工作目录是运行文件所在的目录。对于 VS 代码,默认工作目录是工作区文件夹。如果没有工作区打开,它将 c:\users\your_user_name 作为工作目录。
解决方案:将工作目录更改为您要运行的文件所在的文件夹。通过将工作空间设置为该文件夹或将 JSON 中的“terminal.integrated.cwd”设置为该目录。
推荐阅读
- python - 为什么pygame音乐不会倒退
- python - 如何正确为 python 编写 C++ DLL 文件?
- c# - 使用存储过程和 ASP.NET 在 GridView 中显示名称而不是 Id
- angular - 有什么方法可以找到发送 NGXS 动作的地方吗?
- c - CS50 caesar.c - 密文打印超出 ASCII 代码范围
- lisp - 为什么 lisp 中的 mapcar 使用名称而不是函数?
- kubernetes - 如何防止 Pod/Container 在扩展时覆盖现有 PVC 卷的目录
- django-models - ValueError: int() 以 10 为底的无效文字:b ' '
- python-3.x - Pytest如何直接调用带有fixture参数的函数
- php - 更改 ssh 中的内存限制没有改变