如何使用 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.MediaListPlayer
和 vlc.MediaList
创建包含您的 mp3 的播放列表。
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.MediaListPlayer
和 vlc.MediaList
创建包含您的 mp3 的播放列表。