关于android原生VideoView解决卡顿现象

Android Vlc播放h264编码的视频解决方案       项目总的设计是:摄像头采用的分别是思科,海康威视,宇视科技,大华等等的有名商家,摄像头产生的多路视频流经过Nvr处理后的h264格式视频,通过RTSP协议传输给前端播放。       原生提供的播放器支持的格式少的可怜,最省事功能也最强大的节操播放器本来是播放视频的首选,但是注意github已经写明的第二行: 能播放什么格式的视频依赖的这三个并不支持h264, 所以选择只剩下解码格... 阅读详情
  • 自己公司的项目是webview嵌套h5的,,反正麻烦的很0.0
    • 恩 不过这个解决卡顿还不错,直接上代码了,大部分都可以搜到的handler+Runnable,我只是重复了一下,稍微修改了一下而已
/**
1.获取当前的播放时间,与上一次记录的时间进行对比,
2.如果事件一样了,就说明卡顿了!!!
3.时间不一样,那就说明可能没有卡顿 0.0 (缓存了可就说明了)
4.根据 卡顿 和 不卡顿 来做相关的处理
*/
    int old_duration = 0 ;//记录上一次的播放时间,不用置零(感觉)
    private final Handler mHandlerLock = new Handler();
    private Runnable mRunLock = new Runnable() {
        public void run() {

            int duration = mVideoView.getCurrentPosition();
            if (old_duration == duration && mVideoView.isPlaying()) {
                //说明有问题播放下一个视频
                playNextItem();
                ToastUtil.show(getApplicationContext() , "卡住了,播放下一个" );
            } else {
                //说明正常不做处理
                ToastUtil.show(getApplicationContext() , "正常播放" );
            }
            old_duration = duration ;

            mHandlerLock.postDelayed(mRunLock, 10 * 1000);//10秒进行一次判断,也可以长或者短
        }
    };
//最后就是调用的地方了,我在这里封装里面了,在VideoView。start()方法下执行
 private void decideVideoLock() {
        mHandlerLock.removeCallbacks(mRunLock);
        mHandlerLock.postDelayed(mRunLock, 0);
    }
Android-ScalableVideoView ListView列表每一个播放多个视频 IT蓝豹 一个专门分享android特效的网站 阅读详情

相关推荐

VideoView 缓冲/卡顿监听和处理Demo

这个Demo包括:播放网络视频卡顿监听、缓冲加载动画、实时下载速度、以及大小屏切换,略微实现了功能,还不够完善

关于VideoView视频播放遇到卡顿的问题。

近期项目出了个新需求,类似微信10秒小视频的上传和发布。要实现这个需求需要满足三个点要点:1.有一个相册,并且可以选择视频。2.需要压缩视频。3.需要播放视频。对于1. 我们本身就继承了PictureSelector 点击打开链接,但是我们的需求需要将源码下载下来修改才能解决问题。对于2. 压缩视频在网上找了下,现在使用的是small-video-record,这个库压缩10秒的本地视频需要11秒...

jiyidehao的博客 1万+

EndNote全文检索实战:如何快速配置学校图书馆资源并精准查找文献

本文详细介绍了EndNote全文检索功能的实战配置方法,核心在于通过正确设置OpenURL链接解析器,无缝对接学校图书馆资源,实现一键精准获取文献全文。文章提供了从理解机制、四步配置法到进阶技巧的完整指南,帮助科研人员高效管理海量PDF,构建个人知识体系,大幅提升文献调研与写作效率。

weixin_29228781的博客 279

android videoview卡顿,Android videoview导致阻塞用户界面元素_android-videoview_开发99编程知识库...

在我的安卓应用程序中,我使用videoview来播放视频。 我从videoview中面对非常不想要的行为。 这个场景是这样的。 我有 Activity A 和 Activity B 。 Activity 有一个简单的按钮,点击那个按钮我正在启动 Activity,其中包含 videoview,并开始播放视频,它开始我的Activity 。 所以我的观察是这样的: 一旦我启动 Activity,它将...

weixin_39982236的博客 876

SRv6第二弹:SRv6基本概念

在SRv6网络编程中,不同的转发行为由不同的Function来标识,例如在RFC中定义了公认的End、End.X、End.DX4、End.DX6等。例如:R3使用报文的IPv6目的地址FC03::3查找Local SID表,命中到End SID,随后R3将报文SL减1,同时将SL=1的SID做为报文目标IPv6地址,并查路由表转发出去。SID支持静态配置或者动态分配,end-op、end、end.x、end-dt4、end-dt6、end-dx2推荐静态配置 ,便于网络运维,其他的SID可以动态分配。

wbyyy的博客 4249

大彩串口屏+LUA避坑指南:从Flash读写到控件状态配置的5个常见问题

本文针对大彩串口屏的LUA脚本开发,深度剖析了Flash数据存储与控件状态配置中的5个常见陷阱。重点讲解了如何通过标志位安全初始化Flash、正确处理多字节数据转换,以及如何精准配置按钮与文本控件的状态与事件响应,帮助开发者提升开发效率与代码可靠性。

weixin_27945229的博客 243

android videoview 缓冲进度条,android Videoview 缓冲图标显示和进度条更新

VideoView缓冲图标的显示:1.用Handler时刻监听是否在播放:核心代码:VideoView mVideoView;View showPlayerLoading;//缓冲图标Handler handler = new Handler();Runnable runnable = new Runnable() {public void run() {if(!mVideoView.isPlay...

weixin_42160645的博客 1032

用LTspice仿真CMOS反相器功耗?这份避坑指南能省你3天调试时间

本文详细介绍了如何使用LTspice准确仿真CMOS反相器的功耗,包括动态功耗、短路功耗和静态功耗的测量技巧。通过工程实践指南,帮助电子工程师避开常见陷阱,优化仿真参数设置,提升仿真结果的可靠性,节省调试时间。

w7x8y9z的博客 189

Android开发 视频播放按音量键卡顿

我整理的一些关于【IDE】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/f2PFnNAndroid开发视频播放按音量键卡顿的实现步骤 在Android开发中,处理音量键以控制视频播放时可能会出现意想不到的卡顿现象。为了帮助新手开发者理解并实现这个功能,本文将绘制出实现的整体...

weixin_41060510的博客 234

OrCAD Capture CIS 17.4 原理图绘制

OrCAD Capture CIS 17.4 原理图绘制

qq_38960013的博客 7634

YOLO系列专栏(六):YOLO26热力图可视化 | 解析模型推理逻辑,定位检测关键区域

YOLO26作为新一代目标检测模型,其核心优势是高效的特征提取和精准的目标定位,但模型内部的推理过程的“黑盒”特性,给我们的优化带来了很大困扰:❌ 检测精度低:不知道是模型没学到关键特征,还是特征提取不充分;❌ 出现误检/漏检:无法定位问题根源——是锚框不合适?还是特征图未捕捉到目标?❌ 模型优化盲目:调参、修改网络结构全靠“猜”,缺乏针对性;❌ 难以解释模型行为:实际项目中,需要说明模型“为什么检测到这个目标”,尤其是医疗、工业等对可解释性要求高的场景。而热力图可视化。

qq_36130719的博客 732

android Videoview 缓冲图标显示和进度条更新

VideoView缓冲图标的显示: 用Handler

编程小白菜的专栏 1万+

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法。

kevin1499的博客 1617

Android开发之播放RTSP协议视频流

Android开法之播放RTSP协议视频流 本人近来研究在安卓手机上播放RTSP协议的实时视频流,发现使用Android自带的VideoView播放可以播出,但是使用经过重写后的io.vov.vitamio.widget.VideoView则需等待数秒后才可播出,而且使用系统自带的VideoView播放RTSP实时视频流时,会出现视频卡顿,丢帧掉帧现象,故在此请教,如何才能流畅清晰地播放RTSP

FlyingSnow2211的博客 1万+

YOLO26全新改进 | 最全损失函数改进篇 | SIoU 、WIoU、GIoU、DIoU、EIOU、CIoU, InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数

🔥本文详细介绍了如何修改YOLO26中的损失函数。首先提供了完整的损失函数核心代码,包括WIoU_Scale类和各种IoU计算方法。然后分三步指导修改:1)替换metrics.py中的bbox_iou方法;2)修改loss.py中的iou计算代码;3)更新tal.py中的相关代码。文中特别强调了修改损失函数应在模型结构调整后使用,并提供了多种IoU损失函数的参数配置建议,包括SIoU、WIoU、GIoU等,可根据实际需求灵活选择搭配使用。

Ai缝合怪、助力小伙伴高效发论文 450

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

迅雷 android下载地址 http,Android HTTP边下边播

本文简单地分享一下在Android平台做HTTP边下载边播放的一些经验,希望对初学者有所帮助。1. 为什么播放器在播放视频文件的时候,都知道该怎么去解码、该以怎样的时间间隔去显示每一帧呢?因为无论是mp4、avi、flv、mkv还是其他格式的音视频文件,都存在一个称为metadata的数据块,记录了当前文件的图像尺寸、编码格式、帧率、码率等信息,播放器可以通过解析metadata得到这些信息。2....

weixin_28366053的博客 1086

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

android图标随着进度条动画,【转】android Videoview 缓冲图标显示和进度条更新

转自:http://m.blog.youkuaiyun.com/blog/u014728518/37809323VideoView缓冲图标的显示:1.用Handler时刻监听是否在播放:核心代码:VideoView mVideoView;View showPlayerLoading;//缓冲图标Handler handler = new Handler();Runnable runnable = new Ru...

weixin_42421710的博客 324

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Android HTTP边下边播

本文简单地分享一下在Android平台做HTTP边下载边播放的一些经验,希望对初学者有所帮助。 1. 为什么播放器在播放视频文件的时候,都知道该怎么去解码、该以怎样的时间间隔去显示每一帧呢? 因为无论是mp4、avi、flv、mkv还是其他格式的音视频文件,都存在一个称为metadata的数据块,记录了当前文件的图像尺寸、编码格式、帧率、码率等信息,播放器可以通过解析metadata得到这些信息。...

夜空中最亮的星 1026

ViewPager嵌套GridView引发的一系列UI卡顿不顺畅的问题

来自:http://my.oschina.net/u/174250/blog/146265 由于项目要求,需要做一个日历的页面,做法采用ViewPgaer+GridView来做,初步过程很顺利,成型以后,出现UI现象有(1)Acitivity加载时间过长 (2)滑动Viewpager出现卡顿现象;     这两个问题看起来很简单,实际上要适配大部分机型使之流畅也要费很多功夫

#ifndefine maxwit #define maxwit...#endif 1176

关于Android HTTP边下边播

1. 为什么播放器在播放视频文件的时候,都知道该怎么去解码、该以怎样的时间间隔去显示每一帧呢? 因为无论是mp4、avi、flv、mkv还是其他格式的音视频文件,都存在一个称为metadata的数据块,记录了当前文件的图像尺寸、编码格式、帧率、码率等信息,播放器可以通过解析metadata得到这些信息。 2. 迅雷边下边播的原理是怎样的? 迅雷在边下边播的时候,不会像往常一样根据资源链接...

原来gg的博客 627

视频播放框架vitamio播放视频屏幕花屏的问题

因为之前项目是针对android 4.4 系统集成的vitamio播放器,播放都没问题,因为项目切换到5.1的系统后,播放视频出现花屏现象。 针对该问题解决方案:在vitamio框架的VideoView.java 文件中找到surfaceCreated()方法,如下代码 public void surfaceCreated(SurfaceHolder holder) {

蒙奇奇有大大的梦想 2566

android datagramsocket 缓存大小,Android接收UDP TS流实现边缓存边播放 – 小崔的博客 – 博客频道 – youkuaiyun.com...

Android播放本地文件视频是硬解,这样对CPU占用比较少,所以将直播收到的数据临时缓存3个文件,给定每个文件的大小,然后进行播放。后续还会进行优化。具体实现代码如下:package com.cayden.videodemo;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import ...

weixin_39562327的博客 315

基于Eclipse的Android应用开发实战:从MVC架构到完整项目构建

Android应用开发的核心在于理解其架构模式与工程化实践。经典的MVC(Model-View-Controller)架构清晰地分离了数据、界面与逻辑,为应用的可维护性奠定了基础。通过模块化设计与异步处理机制,开发者能够构建响应迅速、用户体验良好的应用。在工程实践中,数据持久化方案如SQLite数据库与SharedPreferences,以及多媒体处理如VideoView的视频播放,是实现核心功能的关键技术。这些技术共同支撑了在线教育、内容消费等复杂场景的应用开发。本文以“博学谷”这一综合性学习应用为例,详

weixin_30628801的博客 308
上一篇: 关于android监听网路状态的代码
下一篇: 关于android中Videoview的选择
buttonXin
博客等级 码龄11年 13粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值