如何在特定时间开始播放音频文件



我想以特定的持续时间播放音频文件,例如,使用python中的媒体播放器模块在1:00分钟或500毫秒启动它。

import vlc
song = vlc.MediaPlayer('song.mp3')
song.play()

现在有了song.play((,我可以播放文件,但只能从一开始播放,所以有什么方法可以在特定的持续时间开始播放吗?

使用MediaPlayer对象的set_time()方法:

import vlc
song = vlc.MediaPlayer('song.mp3')
song.play()
song.set_time(10000)    # play at 10,000 ms (10 seconds)

还有set_position(),它的值在0.0和1.0之间:

song.set_position(0.5)   # half way through media file

有很多方法可以对猫进行剥皮,除了接受的答案外,您还可以在Media实例上使用--start-time--stop-time选项

import vlc
import time
url = "file:///home/rolf/BBB.ogv"
playing = set([1,2,3,4])
instance=vlc.Instance()
player=instance.media_player_new()
media = instance.media_new(url)
media.add_option('start-time=600.00') # start at 600 seconds (10 minutes)
media.add_option('stop-time=605.00') # for 5 seconds
player.set_media(media)
player.play()
time.sleep(0.1) # wait briefly for it to start
while True:
state = player.get_state()
if state not in playing:
break

注意:--run-time也存在
请在命令行中使用vlc -H,以获得丰富的选项。

Rolf的答案是我在Pi上使用Raspbian上的python vlc的唯一版本。深入研究set_position方法的VLC API,你会发现"这可能不起作用,这取决于底层的输入格式和协议。"-我发现唯一对我有效的查找方法是使用Media实例的例子。

最新更新