我试图通过
禁用字幕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
如何解决这个问题?
答案 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());
}
}
此方法将解决您的问题