簡體   English   中英

在 vlc python 中播放時如何獲取 mp3 鏈接時長?

[英]How to get the mp3 link duration when playing in vlc python?

我試圖使用 vlc 包從存儲在 Firebase 存儲中的音樂播放音樂。 但是,當使用這個包時,我們需要定義睡眠的持續時間。 當我使用urllib.requestmutagen庫檢索它時發生錯誤。

錯誤

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.

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