2016-12-30 42 views
0

我正在寫一個簡單的腳本,我想通過我的計算機上的聲音文件通知我。如何在不打開任何媒體播放器的情況下播放聲音文件?

雖然我可以做這樣的事情播放聲音文件:

import webbrowser 
webbrowser.open("C:\Users\User\Desktop\Test\Test.mp3") 

這將打開VLC或任何媒體播放器我有,這可以使用Alt-Tab與無論我在做我/干擾。

有沒有播放聲音文件沒有任何彈出的方法嗎?什麼我希望做一個完美的例子是使用類似的製作使用廣州市運生作爲這樣的蜂鳴聲:

import winsound 
Freq = 600 # Set Frequency To 600 Hertz 
Dur = 800 # Set Duration To 800 ms == 0.8 second(s) 
winsound.Beep(Freq,Dur) 

這使得快速的蜂鳴聲,而無需打開任何新的窗口。

+0

如果winsound正在爲您工作,究竟是什麼問題? – Inconnu

+0

我從來沒有使用它,但[pyaudio](https://people.csail.mit.edu/hubert/pyaudio/docs/#)可能適合你。 – tdelaney

+1

@Achilles - OP想播放一個mp3文件。現在他通過提出一個瀏覽器來做到這一點,但他想要更多的背景知識。 – tdelaney

回答

1

這是訣竅。 首先,安裝pyglet:

pip install pyglet 

現在下載並安裝AVbin from here 做檢查已安裝AVbin因爲現在你必須去安裝目錄和avbin.dll複製到你保存代碼的目錄。

最後,運行此代碼:

import pyglet 
pyglet.lib.load_library('avbin') 
pyglet.have_avbin=True 
song = pyglet.media.load('filename.mp3')#your file name 
song.play() 
pyglet.app.run() 

確保您的音樂文件在同一目錄下你的代碼.py文件。 這是從我的經驗,它的工作。

0

與溶液的意見解決了@eryksun:

winsound.PlaySound(wav_path, winsound.SND_FILENAME | winsound.SND_ASYNC) 

這是最好的解決辦法,因爲我已經看到了什麼,我一直在尋找。它使用默認庫,只佔用一條簡單的線,並且做我需要的。

相關問題