2010-05-10 26 views
5

我正在使用VideoView显示视频。我使用setOnPreparedListener和setOnCompletionListener在视频开始和结束之前和之后执行某些操作。Android VideoView - 在视频中检测时间点

我想知道如何才能检测视频中的某个时间点。例如,假设我想在视频播放10秒后将日志写入文件。我如何检测10秒的标记?

感谢 克里斯

回答

5

第1步:使用postDelayed()或有所收获控制每一秒左右。

步骤#2:检查getCurrentPosition()并查看它是否接近您想要的标记点。如果是这样,请处理。

步骤#3:起泡,冲洗,重复。

当视频中出现某个时间点时,Android没有专门为您打电话的机制,因此您必须完成轮询机制。

+1

从我的经验来看这个作品到了一定的地步,但它不是很准确。也许+/- 500毫秒 – justinl 2010-08-14 08:43:26

+0

使用postDelayed与使用计时器简单检查当前位置是否有优势?我想知道在Android中使用处理程序与使用计时器是否有优势。 – 2012-07-14 21:56:19

+0

@ sleeping.ninja:定时器需要一个线程; 'postDelayed()'不。 – CommonsWare 2012-07-15 15:29:47