如何使用 vlc 延迟 mp3 文件的启动

How to delay the launch of an mp3 file using vlc

from gtts import *
import os
import vlc
def sauvegarde(text,i):
    tts = gTTS(text, lang='fr')
    tts.save("text"+str(i)+".mp3")
def play(file):
    p = vlc.MediaPlayer(file)
    p.play()
text = "Salut Santo c\'est Alexis, ton maitre qui te parle"
text2="Bonjour Santo"
sauvegarde(text,1)
sauvegarde(text2,2)
play("text1.mp3")
play("text2.mp3")

os.system("pause")

当我 运行 此代码时,我之前创建的两个 .mp3 文件同时播放。在第一个完成后如何玩第二个有什么想法吗?

据我所知,vlc 似乎没有播放的阻塞版本,所以完成此操作的最简单方法可能是手动等待第一个 mp3 完成。因此,要制作播放功能的阻塞版本,请尝试这样的操作:

import time
def play(file):
    p = vlc.MediaPlayer(file)
    p.play()
    while(p.is_playing()):
        time.sleep(0.1)

这将检查 p 是否仍在每 100 毫秒播放一次。只有当播放结束后,播放函数才会return.

或者,您可以使用 vlc.MediaListPlayervlc.MediaList 创建包含您的 mp3 的播放列表。