小编use*_*039的帖子

寻找addTimedTextSource的工作示例,用于在Android 4.1中的.srt文件中为视频添加字幕

我一直在尝试使用.srt文件作为定时文本源(仅适用于android 4.1+ http://developer.android.com/about/versions/android-4.1.html#Multimedia).第一个问题与获取.srt文件的文件描述符有关(在assets文件夹中,你将如何在应用程序中捆绑它?).该文件会自动压缩,因此您甚至无法在不更改编译设置或执行自定义构建的情况下查看该文件.最简单的解决方案是将.srt文件重命名为.jpg,以便它不会被压缩,openFD方法仍然有效.我现在添加TimedTextSource:

_myMP.addTimedTextSource(getAssets().openFd("captions.jpg").getFileDescriptor(),   MediaPlayer.MEDIA_MIMETYPE_TEXT_SUBRIP);
Run Code Online (Sandbox Code Playgroud)

现在,文件加载正确使用myMP.getTrackInfo()来获取的曲目列表,可以看到,添加定时文本源之后,第六赛道的类型是其定时文本轨道输入"3".我已经使用selectTrack来选择此曲目,如谷歌文档中所述,但在这样做之后,我的TimedTextListener上没有出现任何字幕:

 _myMP.setOnTimedTextListener(new OnTimedTextListener(){
        @Override
        public void onTimedText(MediaPlayer mp, TimedText text) {
                if (text!=null)
                   Log.d("TimedText", text.getText());  
            }       
        });
Run Code Online (Sandbox Code Playgroud)

仅触发一次(我在文件中有20个定时文本事件),但text参数始终为null.我已经做了搜索,并不能找到使用timeText的单个加工代码示例,它不会出现在任何样本项目中,有字面上没有比谷歌API文档等,但据我可以告诉文档,没有人张贴了它的工作实例.我在更新到Android 4.2的谷歌Nexus上测试了这个

video android captions srt

32
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×1

captions ×1

srt ×1

video ×1