簡體   English   中英

如何在不打開任何媒體播放器的情況下播放聲音文件?

[英]How do you play a sound file without opening any media players?

我正在編寫一個簡單的腳本,我想通過我的計算機上的聲音文件通知我一個事件。

雖然我可以通過執行以下操作來播放聲音文件:

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

這將打開 VLC 或我擁有的任何媒體播放器,這可能會 alt-tab 我/干擾我正在做的任何事情。

有沒有辦法播放聲音文件而不彈出任何東西? 我想要做的一個完美的例子是使用諸如使用 winsound 發出嗶聲之類的東西:

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

無需打開任何新的 windows 即可快速發出嗶嗶聲。

這可以解決問題。 首先,安裝pyglet:

pip install pyglet 

現在, 從此處下載並安裝AVbin 。請檢查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文件位於同一目錄中。 根據我的經驗,這樣做是否奏效。

@eryksun在評論中使用以下解決方案解決了:

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

這是我所尋找的最佳解決方案。 它使用默認庫,僅占用一條直截了當的直線,並且可以滿足我的需要。

您應該使用 pygame 來解決它

def music(music):
    pygame.mixer.init()
    pygame.mixer.music.load(music)
    pygame.mixer.music.play()

它會在不打開 vlc 媒體播放器的情況下播放聲音

搜索谷歌更多否則這將足以知道

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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