2017-10-21 231 views
0

我想制作一个基于nltk库生成随机字幕的媒体播放器。我正在使用vlc python,因为现在我不关心接口。但是我有理解如何放置字幕,甚至作为一个srt文件。 vlc.py中的函数是SubtitleTrack()。在其他地方,我看到我必须使用add_slave()函数。Vlc python库

我的代码到现在为止是:

import vlc 
Instance = vlc.Instance() 
player = Instance.media_player_new() 
Media = Instance.media_new('Test.avi') 
Sub = player.add_slave(player,'Test.srt', True) 

player.set_media(Media) 
player.play() 

libvlc is 2.2.6

+0

你运行的是什么版本的python-vlc? –

+0

没有写在任何地方的版本。唯一写的是:Copyright(C)2009-2012 the VideoLAN team and __version__ =“N/A” build_date =“Fri Oct 7 12:04:48 2016” –

+0

运行这个'pip show python-vlc' –

回答

0

SubtitleTrack()的版本是一类。

你想要做的是添加字幕,你打后播放。你如何做到这一点,从我的理解取决于版本。

import vlc 
Instance = vlc.Instance() 
player = Instance.media_player_new() 
Media = Instance.media_new('Test.avi') 
player.set_media(Media) 
player.play() 
player.video_set_subtitle_file('Test.srt') 

我没有在我的VLC的本地版本的add_slave()功能,但我认为它是安全的,说的功能呆了兼容性的原因相同。

+0

是的,它的工作,非常感谢 –

0

如果您正在使用VLC 2.2,你应该使用

player.video_set_subtitle_file('Test.srt') 

但这种方法已经在3.0版本中使用,你应该使用add_slave。

您可以看看https://en.wikipedia.org/wiki/URL#Syntax它可以帮助您使用URL概念,并且https://blogs.msdn.microsoft.com/ie/2006/12/06/file-uris-in-windows/可用于Windows路径的应用程序。

+0

我会检查两个,我用2.2 video_set_subtitle_file,我会检查3.0,因为现在我有一个get_duration函数的问题 –