带有字幕的Android Native Video播放器

inv*_*sus 5 android subtitle media-player android-videoview

我正在开发一款适用于Android的视频播放器.我创建了一个简单的文本视图,显示当前的副标题.

问题是: MediaPlayer getCurrentPosition()方法只给我几秒钟的时间.我需要以毫秒为单位的值来正确地同步字幕和电影.

getCurrentPosition应该以毫秒为单位给出时间,但它以秒为单位给出时间*1000(每个数字以"000"结尾).

  1. 你知道更好的方法吗?
  2. 我如何以毫秒为单位获得时间?
  3. 准确地在秒(000ms)时生成事件也可以.

有什么建议?

inv*_*sus 3

如果有人需要,我做了我的解决方案。

我开发了字幕模块。为了获得准确的毫秒数,我为系统和玩家计时器制作了一个同步器。

每播放 20 秒视频,我就会执行此过程:

  1. 向媒体播放器询问当前秒数(获得 s 秒)
  2. 向媒体播放器询问当前秒数,直到结果为 s+1 (s0)
  3. 获取该时间(m0)的系统时间(毫秒)

现在,如果我想要当前电影的毫秒数:

  1. 获取当前系统时间(毫秒)(m1)
  2. 电影实时时间为:s0+(m1-m0)

很简单,并且字幕同步;)

  • 是否可以分享代码。我正在研究类似的要求。任何帮助,将不胜感激 (3认同)