[英]How to get the mp3 link duration when playing in vlc python?
我試圖使用 vlc 包從存儲在 Firebase 存儲中的音樂播放音樂。 但是,當使用這個包時,我們需要定義睡眠的持續時間。 當我使用urllib.request和mutagen庫檢索它時發生錯誤。
錯誤
can't sync to MPEG frame
try:
filename, headers = urlretrieve(musicURL)
audio = MP3(filename)
print(audio.info.length)
self.mediaPlayer = vlc.MediaPlayer(musicURL)
self.mediaPlayer.play()
time.sleep(180)
print("Music " + musicName + " is playing")
# I not yet find ways to determine music duration from url
except Exception as e:
print(e)
pass
因此,從評論中:不要嘗試使用 Mutagen,只需詢問 VLC 的持續時間。
self.mediaPlayer = vlc.MediaPlayer(musicURL)
self.mediaPlayer.play()
duration = self.mediaPlayer.get_length()
print(f"Playing {musicName}")
time.sleep(duration / 1000) # duration is in milliseconds
只是為了澄清,我已經設法解決了這個問題,下面是我的代碼:
try:
self.mediaPlayer = vlc.MediaPlayer(musicURL)
self.mediaPlayer.play()
time.sleep(3)
duration = self.mediaPlayer.get_length()
self.musicLength = duration/1000
except:
pass
print(self.musicLength)
self.mediaPlayer.play()
time.sleep(self.musicLength)
print("Music " + musicName + " is playing")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.