[quote=引用 4 楼 Simple_Simple_Simple 的回复:] [quote=引用 3 楼 IT_ZJYANG 的回复:] 刚好做过ijk相关的项目,针对楼主所说的外挂字幕,可以用一个TextView覆盖在你的VideoView上面展示 主流的字幕格式例如srt都是有一定的格式的(包含每行字幕的进场和出场时刻),可以根据规律进行读取和解析,并在对应的时间段展示对应的那一行字幕,在视频播放的过程中,你自然可以读取到此时的时间点(例如播到1分20秒),利用这个时间来跟字幕文件里的时间进行比较,就可以准确地展示外置字幕。(解析细节可以网上搜索,挺多的也很容易理解) 然后TextView的位置你就像平常设计布局一样,可以随意摆放到你想摆放的位置,当然一般是视频底部。
[quote=引用 3 楼 IT_ZJYANG 的回复:] 刚好做过ijk相关的项目,针对楼主所说的外挂字幕,可以用一个TextView覆盖在你的VideoView上面展示 主流的字幕格式例如srt都是有一定的格式的(包含每行字幕的进场和出场时刻),可以根据规律进行读取和解析,并在对应的时间段展示对应的那一行字幕,在视频播放的过程中,你自然可以读取到此时的时间点(例如播到1分20秒),利用这个时间来跟字幕文件里的时间进行比较,就可以准确地展示外置字幕。(解析细节可以网上搜索,挺多的也很容易理解) 然后TextView的位置你就像平常设计布局一样,可以随意摆放到你想摆放的位置,当然一般是视频底部。
刚好做过ijk相关的项目,针对楼主所说的外挂字幕,可以用一个TextView覆盖在你的VideoView上面展示 主流的字幕格式例如srt都是有一定的格式的(包含每行字幕的进场和出场时刻),可以根据规律进行读取和解析,并在对应的时间段展示对应的那一行字幕,在视频播放的过程中,你自然可以读取到此时的时间点(例如播到1分20秒),利用这个时间来跟字幕文件里的时间进行比较,就可以准确地展示外置字幕。(解析细节可以网上搜索,挺多的也很容易理解) 然后TextView的位置你就像平常设计布局一样,可以随意摆放到你想摆放的位置,当然一般是视频底部。
ijkplayer对字幕的支持不是特别好,比如: 1. 中英混合字幕只显示中文。 2. 切换字幕时还会出现崩溃。 3. 切换字幕时并不是马上同步字幕,而是播放几分钟才能同步字幕。 个人建议如果你不会修改ijkplayer.so库的代码,最好不用用。 ijkplayer库有直接播放字幕的api: ijkMediaPlayer.selectTrack(int track); 不过要加上这个设置项,字幕才有效。 ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "subtitle", 1); 最后解决我所说的ijkplayer本身存在的bug,楼主自行解决。因为这些问题并不是三言两语能说的清楚。
80,350
社区成员
91,288
社区内容
加载中
试试用AI创作助手写篇文章吧