Vlc Python 绑定无法设置时间
Vlc Python Bindings unable to set time
我正在尝试使用 VLC python 绑定播放设定时间的视频。我是如何做的是使用 set_time
set_time(self, i_time, b_fast)
Set the movie time (in ms). This has no effect if no media is being >played. Not all formats and protocols support this.
Parameters:
b_fast - prefer fast seeking or precise seeking.
i_time - the movie time (in ms).
Returns:
0 on success, -1 on error.
但每次我这样做时,视频都会从头开始。
我试过在有和没有 i_time 的情况下通过 set_time(i_time=xx)
来调用该函数。我尝试通过给它几秒和几毫秒来给它一个时间,但没有成功。
我也尝试过在初始化视频文件和播放视频文件时立即调用它,但没有成功。
我的代码:
Instance = vlc.Instance()
player = Instance.media_player_new()
Media = Instance.media_new(self.video)
player.set_media(Media)
time = None
...
...
time = int(matches[0].start.total_seconds() * 1000)
# matches[0] = Subtitle(index=1, start=datetime.timedelta(0, 33, 843000), end=datetime.timedelta(0, 38, 97000), content='this is a sentence', proprietary='')
# matches[0].start.total_seconds() = 33.843
player.play()
print(player.set_time(time))
我希望视频从设定的时间开始,但每次我打印 player.set_time()
它 returns None
您可以向媒体添加 start_time
选项,或者稍等片刻等待播放开始,然后使用 set_time 选项。
这是 Media.add_option
版本。
import vlc
import time
url = "file:///home/rolf/GWPE.mp4"
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') # 600 seconds (10 minutes)
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
我正在尝试使用 VLC python 绑定播放设定时间的视频。我是如何做的是使用 set_time
set_time(self, i_time, b_fast)
Set the movie time (in ms). This has no effect if no media is being >played. Not all formats and protocols support this.
Parameters:
b_fast - prefer fast seeking or precise seeking. i_time - the movie time (in ms).
Returns:
0 on success, -1 on error.
但每次我这样做时,视频都会从头开始。
我试过在有和没有 i_time 的情况下通过 set_time(i_time=xx)
来调用该函数。我尝试通过给它几秒和几毫秒来给它一个时间,但没有成功。
我也尝试过在初始化视频文件和播放视频文件时立即调用它,但没有成功。
我的代码:
Instance = vlc.Instance()
player = Instance.media_player_new()
Media = Instance.media_new(self.video)
player.set_media(Media)
time = None
...
...
time = int(matches[0].start.total_seconds() * 1000)
# matches[0] = Subtitle(index=1, start=datetime.timedelta(0, 33, 843000), end=datetime.timedelta(0, 38, 97000), content='this is a sentence', proprietary='')
# matches[0].start.total_seconds() = 33.843
player.play()
print(player.set_time(time))
我希望视频从设定的时间开始,但每次我打印 player.set_time()
它 returns None
您可以向媒体添加 start_time
选项,或者稍等片刻等待播放开始,然后使用 set_time 选项。
这是 Media.add_option
版本。
import vlc
import time
url = "file:///home/rolf/GWPE.mp4"
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') # 600 seconds (10 minutes)
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