2016-05-16 18 views
1

我的老師告訴我們要編寫一個小精靈之戰作爲作業。我已經制定了大部分的節目,但我想添加戰鬥音樂。如何在與我的程序相同的文件夾中播放音樂(Python)

我見過很多選項,但所有這些都需要我知道音樂文件的目錄,我不這樣做,因爲我會將我的文件發送給我的老師進行更正。

有沒有辦法讓python在主程序所在的文件夾中播放音樂文件?

(盡我所能要求是正確的,英語不是我的母語)

編輯:大多數解決方案需要我安裝包,我想避免的。一個解決方案,這並不需要我這樣做是:

import os 
open('battle.mp3') 
os.startfile('battle.mp3') 

但它打開不在蟒蛇,但在我的默認播放器的文件。沒有辦法讓python重現它嗎?也許是一個模塊?我已經看到有些軟件包讓你能夠播放音樂。我也可以這樣做嗎?

EDIT2:當我使用open()函數時,該如何播放文件?

+0

如果音樂文件在同一目錄下的程序,你可以用'open('nameofile.wav')加載它' –

+0

請在你的文章中編輯一些示例代碼。如果您有一些播放音樂但需要完整目錄的代碼,請包含該版本代碼。如果代碼實際上需要目錄,我會感到驚訝,但如果包含代碼,人們可以更容易地幫助您。 – Marius

+0

[pygame](http://stackoverflow.com/a/20021547)可以播放.mp3文件 –

回答

0

沒有路徑的文件名是相對於腳本目錄。所以你可以簡單地使用像some_audio_play_function('audiofile.wav')這樣的東西。

如果您需要音頻文件的絕對路徑:將特殊全局變量__file__設置爲腳本文件的名稱。你可以用它來獲得絕對路徑的腳本目錄

import os 
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) 

和絕對路徑的音頻文件,在該目錄中

audio_file_path = os.path.join(BASE_DIR, 'audiofile.wav') 
+0

這回答如何獲取目錄!非常感謝 – condosz

+0

如果這是您想要的答案,請將其標記爲解決方案。 –

相關問題