【问题标题】:Vlc python libraryVlc python 库
【发布时间】:2017-10-21 08:25:36
【问题描述】:

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

到目前为止我的代码是:

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的版本

【问题讨论】:

  • 你运行的是什么版本的python-vlc?
  • 某处没有编写版本。唯一写的是: Copyright (C) 2009-2012 the VideoLAN team and version = "N/A" build_date = "Fri Oct 7 12:04:48 2016"
  • 运行这个pip show python-vlc
  • 它给出了错误。我没有将它安装在python文件夹中,而是在项目文件夹中
  • 然后转到您的 vlc.py 文件,并在那里阅读版本。 __version__

标签: python-3.x vlc subtitle


【解决方案1】:

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() 功能,但我认为出于兼容性原因可以肯定地说功能保持不变。

【讨论】:

    【解决方案2】:

    如果你使用的是 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 路径的应用程序。

    【讨论】:

    • 我会检查两者,我使用了 2.2 的 video_set_subtitle_file,我将使用 3.0 进行检查,因为现在我的 get_duration 函数有问题
    猜你喜欢
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 2016-11-02
    相关资源
    最近更新 更多