我正在尝试创建一个绑定了 Mediaplayer 的自定义视图。我想要发生的是,一旦在屏幕上呈现第一帧,MediaPlayer 将暂停一两秒钟,然后完成视频。我在试图弄清楚第一帧何时出现在屏幕上时遇到了问题。我试过使用:
MediaPlayer.start() 然后在 Mediaplayer.pause() 之后 - 这不起作用,因为系统需要时间来加载视频并且当我这样做时屏幕是黑色的。
OnBufferingUpdateListener - 不起作用,因为它仅适用于来自互联网的视频
OnInfoListener MEDIA_INFO_VIDEO_RENDERING_START - API 是 17,太高了。
onDraw 在自定义视图中 - 目前正在测试,我不确定如何知道何时绘制视频帧。
我目前正在做的是在我的代码中设置一个计时器以等待 50 毫秒,然后在计时器完成后暂停视频一段时间。然而,这只是一个快速的解决方案,而不是一个长期的解决方案。
我觉得解决这个问题的唯一方法是设置某种自定义侦听器,或者使用一种在视频帧出现在屏幕上时调用的方法。但是,我的问题是我不知道该听什么,而且我还没有找到在视频开始播放时调用的方法。因此,我们将不胜感激任何解决此问题的帮助。