如何在 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) 支持?的主要内容,如果未能解决你的问题,请参考以下文章

将字幕 (srt) 文件添加到现有 mkv 文件

json2srt:剪映字幕 json 转 srt

vvt在线转换srt

使用 javascript 显示字幕

如何使用 ffmpeg 将 .srt 文件转换为基于 ttml 的 xml 字幕文件?

如何在 Xcode 中打开 .srt 文件?