![](/img/trans.png)
[英]How to play any kind of sound in python without using file or directory
[英]How do you play sounds when the python file is in a different directory as the sound file?
所以我正在制作一個基於文本的游戲,完成后,我想將最終產品編譯為 .exe 格式,以便共享(我計划使用 cx_freeze)現在,我想添加一些背景音樂游戲,下面的代碼工作正常,當且僅當 python 文件在桌面上,“sound.wav”也是如此 我正在尋找在后台執行 sound.wav 的方法,無論它是在相同還是不同的目錄作為python文件,謝謝
import winsound
winsound.PlaySound('sound.wav', winsound.SND_FILENAME)
使用os
包生成音樂文件的絕對路徑,以確保它始終正常工作。
例如,如果您的項目結構是
root
src
your_python_file.py
assets
sound.wav
因此,您可以通過以下方式生成 sound.wav 的絕對路徑
import os
# __file__ means the path of the current python script
root_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
bg_path = os.path.join(root_dir, "assets", "sound.wav")
假設您有一個名為foo
的子文件夾和一個名為subfoo
的第二個子文件夾
如果你想進入foo
子文件夾使用foo/sound.wav
如果你想進入第二個子文件夾subfoo
使用foo/subfoo/sound.wav
。
如果你想翻字典,你可以使用./
。 例如,如果您的聲音位於foo
並且您在subfoo
編寫腳本,則可以使用./sound.wav
訪問它以一個一個文件上升,再次使用./
。
否則,您可以使用從C:
或您希望訪問的驅動器開始的“絕對”文件路徑。 例如,如果您的文件文件名位於桌面中,您可以使用:
C:/users/username/Desktop/foo/subfoo/sound.wav
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.