android – 如何使用MediaPlayer知道第一个视频帧在屏幕上的时间

android – 如何使用MediaPlayer知道第一个视频帧在屏幕上的时间,第1张

概述我正在尝试创建一个自定义视图,其中绑定了Mediaplayer.我想要发生的是,一旦第一帧在屏幕上呈现,MediaPlayer将暂停一两秒,然后完成视频.我试图找出第一帧何时出现在屏幕上时遇到问题.我尝试过使用: MediaPlayer.start()然后在Mediaplayer.pause()之后 – 这不起作用,因为系统需要时间来加载视频,当我这样做时屏幕是黑色的. OnBufferingUp 我正在尝试创建一个自定义视图,其中绑定了Mediaplayer.我想要发生的是,一旦第一帧在屏幕上呈现,MediaPlayer将暂停一两秒,然后完成视频.我试图找出第一帧何时出现在屏幕上时遇到问题.我尝试过使用:

MediaPlayer.start()然后在Mediaplayer.pause()之后 – 这不起作用,因为系统需要时间来加载视频,当我这样做时屏幕是黑色的.

OnBufferingUpdateListener – 不起作用,因为它仅适用于来自互联网的视频

OnInfoListener MEDIA_INFO_VIDEO_RENDERING_START – API为17,而且太高了.

自定义视图中的onDraw – 目前正在测试,我不知道如何知道何时绘制视频帧.

我目前正在做的是在我的代码中设置一个定时器,等待50毫秒,然后一旦定时器完成,暂停视频一段时间.但是,这只是一个快速解决方案而不是长期解决方案.

我觉得解决这个问题的唯一方法是设置某种自定义侦听器,或者使用一旦视频帧出现在屏幕上时调用的方法.但是,我的问题是我不知道该听什么,我还没有找到一个在视频开始播放时调用的方法.因此,非常感谢解决这个问题的任何帮助.

解决方法 你是对的:

mediaPlayer.start();mediaPlayer.pause();

不要停在第一帧.

mediaPlayer.seek(0);

更新并显示第一帧,并使其处于暂停状态.

总结

以上是内存溢出为你收集整理的android – 如何使用MediaPlayer知道第一个视频帧在屏幕上的时间全部内容,希望文章能够帮你解决android – 如何使用MediaPlayer知道第一个视频帧在屏幕上的时间所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1124970.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存