最近App需要集成视频播放功能,就这过程中遇到的问题,记录一下,给遇到相同问题同行提供参考。

1、增加loading

开始以为是在OnBufferingUpdateListener 回调判断,最终不行。发现MediaPlayer有一个setOnInfoListener 在视频卡主缓冲

恢复的情况下,都有事件抛出,看了一下描述。明白可以使用onInfo(MediaPlayer mp, int what, int extra)里面的what来判断。

MEDIA_INFO_VIDEO_RENDERING_START 出loading ,MEDIA_INFO_BUFFERING_END 消失loading 。

2、第一帧缓冲不出loading

按照上一步,增加了loading。发现在播放过程中,出现缓冲卡主是正常可以显示loading,以及缓冲好,消失loading。

但是如果是卡在前面的第一帧画面,不能正常出现loading画面。查看是没有MEDIA_INFO_VIDEO_RENDERING_START事件抛出。

查看onInfo,还有一个MEDIA_INFO_BUFFERING_START定义,加了一个MEDIA_INFO_BUFFERING_START,也显示loading,

消失还是等到MEDIA_INFO_BUFFERING_END。

3、初始化过程不出loading

发现在初始化过程中,等待十几秒,卡在MediaPlayer 的prepare过程,更疑惑的是,这个时候,loading也不显示。

分析发现还有prepareAsync()方法,一个是同步一个异步,改成异步,在回调的过程里面mMediaPlayer.start()。这样发现loading也可以正常显示了。

4、seek to不准确

我的需求是seek to 某个时间点,达到续播的效果。但在实际过程中,发现根本不准。开始以为是记录的位置有错误。

进过一系列调试,发现时间是准确的。在我这个视频中,前六秒都是一个点,只有大于六秒才换到新一个点。觉得超级诡异。

通过网上搜索,发现seek to是和视频有关系的,具体是关键帧,不是跳到某个时间点。

转载于:https://www.cnblogs.com/mltx/p/8340693.html

MediaPlayer loading 问题解决相关推荐

  1. 记录一次:com.badlogic.gdx.utils.GdxRuntimeException: Error loading audio file: startAni.mp3

    昨天,测试小哥哥报了个错,说apk崩了,在别的型号的设备上一直是好的,到了那个型号就崩了,抓了个日志回来,发现在那个设备上,报 java.lang.RuntimeException: Unable t ...

  2. android播放器概述,【Android】 从头搭建视频播放器(1)——概述

    近来有做播放器方面的需求,在搭建过程中,逐渐对 Android 上面视频播放器的实现有了一些初步的了解,在此总结一下,在 Android 上面,如何从头考虑设计并最终实现一个功能完备的视频播放器. 1 ...

  3. 文件查看器示例支持 文件预览,编辑和视频播放

    以下为文件查看器示例,支持 文件预览,和视频播放: import QtQuick 2.2 import QtQuick.Window 2.1 import QtQuick.Controls 1.2 i ...

  4. Qt6 QML Book/多媒体/播放媒体

    Playing Media 播放媒体 The most basic case of multimedia integration in a QML application is for it to p ...

  5. org.testng.TestNGException: TestNG by default disables loading DTD from unsecured Urls.问题解决

    TestNG XML DTD错误 最近在tesgng跑测试用例时碰到了这个问题: org.testng.TestNGException: TestNG by default disables load ...

  6. 关于pgadmin v4一直卡在loading页面的问题解决

    关于pgadmin v4一直卡在loading页面的问题解决 许久不用postgresql 的 pgadmin,昨天需要用的时候,发现突然打不开了,一直卡在loading的页面.然后尝试了卸载重装各种 ...

  7. (error) LOADING Redis is loading the dataset in memory问题解决

    由于swap的频繁切换导致上述错误 解决: [root@masterA RedisTest]# redis-cli flushall (error) LOADING Redis is loading ...

  8. ERROR 3948 (42000): Loading local data is disabled问题解决

    服务器版本: Server version: 8.0.20-0ubuntu0.19.10.1 (Ubuntu) 完整报错如下: ERROR 3948 (42000): Loading local da ...

  9. Error(s) in loading state_dict for ResNet 问题解决

    当使用如下命令加载模型的时候,会报错,没有一些 keys: model.load_state_dict(model_zoo.load_url(model_urls['resnet101'])) Run ...

最新文章

  1. 2017-1-11 css3布局
  2. @Quelifier的用法,
  3. jsp + js + 前端弹出框
  4. Retrofit 2.0
  5. 算法导论笔记:06堆排序
  6. 基本数据类型对象包装类
  7. 深度学习笔记之使用Faster-Rcnn进行目标检测 (原理篇)
  8. 20道C#练习题(一)1——10题
  9. linux java启动脚本文件_不错的linux下通用的java程序启动脚本
  10. 使用python game写一个贪吃蛇游戏
  11. js上拉加载ajax数据,原生ajax写的上拉加载实例
  12. mysql相关知识点_mysql相关知识点整理
  13. 什么叫做支路_家庭电路用什么开关?不同的开关有什么用?主开关用漏保更好吗?...
  14. GDAL读取jpg文件中GPS坐标信息
  15. AcWing基础算法课Level-2 第六讲 贪心
  16. 步步为营 .NET 设计模式学习笔记 十、Builder(建造者模式)
  17. Hadoop工程包架构解析
  18. [Tarjan四连]Tarjan缩点
  19. 智慧食堂管理系统打造健康食堂新理念
  20. Spring之IOC自动装配解析

热门文章

  1. python怎么装饰_如何理解python装饰器
  2. mac os vmware 显卡驱动_【新机】华为Mate 40系列国行售价明天公布,饿了么可以买手机?| 干翻牙膏厂,AMD发布RX6000显卡...
  3. 东华大学计算机学院推免名单,东华大学2020年推免流程及各学院录取情况的说明(持续更新)...
  4. python【蓝桥杯vip练习题库】ADV-297快速排序
  5. tclsh 遍历列表_Tcl / Tk 大全
  6. iconfont图标_小程序使用 Iconfont 的正确姿势
  7. Druid 执行时间分布规则
  8. 网络营销专员浅析网络营销优化对企业来说意味着什么?
  9. 任何网站优化都离不开的四个方向是什么?
  10. php获取文件真实后缀,php获取文件后缀的9种方法(收藏) - strrpos