VLCJ:无法禁用字幕

时间:2016-03-27 06:00:39

标签: java libvlc vlcj

我试图通过

禁用字幕
mediaPlayer.setSubTitleFile((String)null);
mediaPlayer.setSubTitleFile((File)null);

也尝试了,

mediaPlayer.cycleSpu();

mediaPlayer.setSpu(-1);

另外,我尝试使用getTrackInfo()列出可用的曲目 结果只包含一个TrackInfo

TextTrackInfo[codec=0x74627573,codecName=subt,originalCodec=0x74627573,originalCodecName=subt,id=2,profile=-1,level=-1,bitRate=0,language=null,description=null][encoding=null]
  

根据javadocs,必须有一个TextTrack命名的禁用,可以设置为使用setSpu()显示,这样就不会有任何字幕。

但在我的情况下,没有TextTrack名为disable

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试使用此方法

public void ShowSubtitles() {
    try {
        Thread.sleep(500);
    } catch (InterruptedException ex) {
        Logger.getLogger(AnnotationTool.class.getName()).log(Level.SEVERE, null, ex);
    }
    sub = mediaplayer.getMediaPlayer().getSpuDescriptions();
    for (TrackDescription tr : sub) {
        System.out.println("TrackDescription"+tr.description());
    }
    if (sub.size() > 0) {
        mediaplayer.getMediaPlayer().setSpu(sub.get(0).id());
    }
}

此方法将解决您的问题