MediaPlayer loading 问题解决
最近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 问题解决相关推荐
- 记录一次:com.badlogic.gdx.utils.GdxRuntimeException: Error loading audio file: startAni.mp3
昨天,测试小哥哥报了个错,说apk崩了,在别的型号的设备上一直是好的,到了那个型号就崩了,抓了个日志回来,发现在那个设备上,报 java.lang.RuntimeException: Unable t ...
- android播放器概述,【Android】 从头搭建视频播放器(1)——概述
近来有做播放器方面的需求,在搭建过程中,逐渐对 Android 上面视频播放器的实现有了一些初步的了解,在此总结一下,在 Android 上面,如何从头考虑设计并最终实现一个功能完备的视频播放器. 1 ...
- 文件查看器示例支持 文件预览,编辑和视频播放
以下为文件查看器示例,支持 文件预览,和视频播放: import QtQuick 2.2 import QtQuick.Window 2.1 import QtQuick.Controls 1.2 i ...
- Qt6 QML Book/多媒体/播放媒体
Playing Media 播放媒体 The most basic case of multimedia integration in a QML application is for it to p ...
- org.testng.TestNGException: TestNG by default disables loading DTD from unsecured Urls.问题解决
TestNG XML DTD错误 最近在tesgng跑测试用例时碰到了这个问题: org.testng.TestNGException: TestNG by default disables load ...
- 关于pgadmin v4一直卡在loading页面的问题解决
关于pgadmin v4一直卡在loading页面的问题解决 许久不用postgresql 的 pgadmin,昨天需要用的时候,发现突然打不开了,一直卡在loading的页面.然后尝试了卸载重装各种 ...
- (error) LOADING Redis is loading the dataset in memory问题解决
由于swap的频繁切换导致上述错误 解决: [root@masterA RedisTest]# redis-cli flushall (error) LOADING Redis is loading ...
- ERROR 3948 (42000): Loading local data is disabled问题解决
服务器版本: Server version: 8.0.20-0ubuntu0.19.10.1 (Ubuntu) 完整报错如下: ERROR 3948 (42000): Loading local da ...
- Error(s) in loading state_dict for ResNet 问题解决
当使用如下命令加载模型的时候,会报错,没有一些 keys: model.load_state_dict(model_zoo.load_url(model_urls['resnet101'])) Run ...
最新文章
- 2017-1-11 css3布局
- @Quelifier的用法,
- jsp + js + 前端弹出框
- Retrofit 2.0
- 算法导论笔记:06堆排序
- 基本数据类型对象包装类
- 深度学习笔记之使用Faster-Rcnn进行目标检测 (原理篇)
- 20道C#练习题(一)1——10题
- linux java启动脚本文件_不错的linux下通用的java程序启动脚本
- 使用python game写一个贪吃蛇游戏
- js上拉加载ajax数据,原生ajax写的上拉加载实例
- mysql相关知识点_mysql相关知识点整理
- 什么叫做支路_家庭电路用什么开关?不同的开关有什么用?主开关用漏保更好吗?...
- GDAL读取jpg文件中GPS坐标信息
- AcWing基础算法课Level-2 第六讲 贪心
- 步步为营 .NET 设计模式学习笔记 十、Builder(建造者模式)
- Hadoop工程包架构解析
- [Tarjan四连]Tarjan缩点
- 智慧食堂管理系统打造健康食堂新理念
- Spring之IOC自动装配解析
热门文章
- python怎么装饰_如何理解python装饰器
- mac os vmware 显卡驱动_【新机】华为Mate 40系列国行售价明天公布,饿了么可以买手机?| 干翻牙膏厂,AMD发布RX6000显卡...
- 东华大学计算机学院推免名单,东华大学2020年推免流程及各学院录取情况的说明(持续更新)...
- python【蓝桥杯vip练习题库】ADV-297快速排序
- tclsh 遍历列表_Tcl / Tk 大全
- iconfont图标_小程序使用 Iconfont 的正确姿势
- Druid 执行时间分布规则
- 网络营销专员浅析网络营销优化对企业来说意味着什么?
- 任何网站优化都离不开的四个方向是什么?
- php获取文件真实后缀,php获取文件后缀的9种方法(收藏) - strrpos