簡體   English   中英

當python文件與聲音文件位於不同的目錄中時,如何播放聲音?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM