如何在 Vitamio 中启用字幕 (SRT) 支持?
Posted
技术标签:
【中文标题】如何在 Vitamio 中启用字幕 (SRT) 支持?【英文标题】:How to enable subtitle (SRT) support in Vitamio? 【发布时间】:2013-07-10 15:11:14 【问题描述】:我确实尝试了所有方法,但我的 SubRip 字幕无法在 Vitamio 中工作。是否可能是因为流式传输视频时不支持字幕?我想知道。英语 Vitamio 支持很烂。
这是我想出的:
public class StreamVideoActivity extends FragmentActivity implements OnSubtitleUpdateListener
//Variables
VideoView streamingVideo;
TextView subtitleText;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_stream_video);
subtitleText = (TextView) findViewById(R.id.subText);
streamingVideo = (VideoView) findViewById(R.id.videoView);
//BLABLABLABLA
streamingVideo.setVideoPath(fileUrl);
streamingVideo.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH);
streamingVideo.setMediaController(mediaController);
streamingVideo.setBufferSize(512);
streamingVideo.setOnPreparedListener(new OnPreparedListener()
@Override
public void onPrepared(MediaPlayer arg0)
streamingVideo.setSubPath(subtitleFile.getPath());
streamingVideo.setSubShown(true);
streamingVideo.setSubEncoding(null);
streamingVideo.setSubTrack(MediaPlayer.SUBTITLE_EXTERNAL);
streamingVideo.setOnSubtitleUpdateListener(this);
streamingVideo.start();
@Override
public void onSubtitleUpdate(final String arg0)
if (arg0 != null)
handler.post(new Runnable()
@Override
public void run()
subtitleText.setText(arg0);
);
@Override
public void onSubtitleUpdate(byte[] arg0, int arg1, int arg2)
// TODO Auto-generated method stub
【问题讨论】:
如果你真的尝试了一切,我看不出如何提供答案...... 嗯,我确实尝试了我能想到的一切。 有什么症状?你在onSubtitleUpdate
得到什么吗?在另一个onSubtitleUpdate
上?由于您没有指定编码,因此调用带有byte[]
的方法而不是带有字符串的方法是有意义的。我会测试:A/ 在setSubEncoding
中输入一个编码。 B/ 记录onSubtitleUpdate(byte[] ...
中发生的事情
当 SubEncoding 设置为 null 时,它应该自动检测编码。在 LogCat 中,它识别 SubRip 格式。我会看看 OnSubtitleUpdate(byte[]...) 会发生什么。谢谢
【参考方案1】:
您可以下载VitamioBundle,vitamio-sample 有一个支持字幕的示例。
【讨论】:
以上是关于如何在 Vitamio 中启用字幕 (SRT) 支持?的主要内容,如果未能解决你的问题,请参考以下文章