vlc缓冲事件添加及缓冲进度

Vlc控件 VLC调研 VLC控件支持的参数和方法VLC对象列表 Vlc Plugin Object的方法l        VersionInfo:成员, 返回版本信息的字符串l        vlc.versionInfo():方法, 返回版本信息的字符串 Audio object的属性(读写) 阅读详情

1.缓冲事件添加:vlc已内置好事件,只不过未开放API。

  主要参考:http://blog.youkuaiyun.com/memegood123/article/details/8769008


2.缓冲进度添加:

  主要参考http://stackoverflow.com/questions/17287010/enabling-mediaplayerbuffering-event-to-be-fired-in-android-vlc

  由于vlc我采用了最新的(android1.0.0),基本流程差不多,稍微进行了修改;

在libvlcjni.c文件的vlc_event_callback函数下添加一下

else if(ev->type == libvlc_MediaPlayerBuffering) {
    /* For determining the vout/ES track change */
    jstring sData = (*env)->NewStringUTF(env, "data");
    (*env)->CallVoidMethod(env, bundle, putFloat, sData, ev->u.media_player_buffering.new_cache);
    (*env)->DeleteLocalRef(env, sData);
}
上述意思是,在缓冲事件返回时执行bundle.putFloat("data",缓冲值)。不同版本上述代码略有不同:

 1.media_player_buffering.new_cache对应于lib包下面media_player.c中的input_event_changed函数:

 else if( newval.i_int == INPUT_EVENT_CACHE )
    {
        event.type = libvlc_MediaPlayerBuffering;
        event.u.media_player_buffering.new_cache = (int)(100 *
            var_GetFloat( p_input, "cache" ));
        libvlc_event_send( p_mi->p_event_manager, &event );
    }

最后只需在播放器handler中进行如下获取即可:

	case EventHandler.MediaPlayerBuffering:
				Log.i(TAG,
						"MediaPlayerBuffering:" + msg.getData().getFloat("data"));
				break;



安卓使用VLC播放视频,实现截图和录制功能 使用vlc-android库播放RTSP视频 阅读详情

相关推荐

C#新手实战:从零搭建VLC视频播放器的完整指南

本文为C#新手提供了从零搭建VLC视频播放器的完整指南,详细介绍了环境配置、界面设计、核心功能实现及常见问题解决。通过使用VLC的libVLC库,开发者可以轻松支持多种视频格式,快速构建功能强大的播放器应用。

weixin_29294975的博客 407

vlc 缓冲大小 设置_vlc缓冲事件添加及缓冲进度

1.缓冲事件添加:vlc已内置好事件,只不过未开放API。 主要参考:http://blog.csdn.net/memegood123/article/details/87690082.缓冲进度添加: 主要参考http://s1.缓冲事件添加:vlc已内置好事件,只不过未开放API。主要参考:2.缓冲进度添加:主要参考由于vlc我采用了最新的(android1.0.0),,基本流程差不多,稍微进行...

weixin_42355570的博客 1603

别再踩坑了!CAPL脚本里局部变量和全局变量的那些“怪事”(附CANoe实测代码)

本文深度解析CAPL脚本中局部变量和全局变量的特殊机制,揭示其与通用编程语言的差异。通过实测代码展示静态局部变量的默认行为和全局变量的节点隔离特性,并提供高效避坑指南,帮助汽车网络测试工程师避免常见陷阱。

weixin_30225755的博客 292

Android VLC 获取缓冲进度

mediaPlayer.setEventListener(new MediaPlayer.EventListener() { @Override public void onEvent(MediaPlayer.Event event) { if (event.type == MediaPlayer.Event.Buffering) { Go...

MagicYeyu的博客 2217

Arduino创意作品实战案例:手把手教你做温控风扇

通过这个实用的arduino创意作品,轻松实现温度感应与风扇自动控制,结合传感器与编程逻辑,打造智能散热系统,是入门者理想的arduino创意作品实践项目。

weixin_42311427的博客 608

vlc-android 获取MediaPlayerEncounteredError,MediaPlayerBuffering等各种事件的响应

前面有篇文章介绍了调用libvlcjni.so 实现流媒体播放器,在将那篇文章写了之后,开发的项目中又需要更新,其中涉及到了获取MediaPlayerEncounteredError,MediaPlayerBuffering等事件的响应,在网上找了好久都无果,自己花了不少时间终于找到了想要的结果。再次记录出来以防以后淡忘再做重复工作,也希望可以帮助遇到同样问题的道友。          做vlc

memegood123的专栏 7324

第二次 PX4仿真环境搭建过程全记录

参考链接 https://blog.csdn.net/yanwumuxi/article/details/80097294 https://www.ncnynl.com/archives/201709/2013.html 一、安装依赖项 我们使用Debian / Ubuntu LTS 作为Linux的标准支持版本,但是也支持Cent OS 和 Arch Linux的发行版本。 权限设置 警告:永远...

移步换景的博客 2261

基于libvlc aar的android播放器(点播与本地播放)

点播与本地播放大部分流程差不多,只是一个网络一个是本地。今天介绍一下基于libvlc的android播放器,点播与本地播放部分流程。 一.本地播放与点播最大区别就是设置播放源方法,下面就是设置播放源的代码: 1.本地播放 try { final Media media = new Media(mLibVLC, getAssets().openFd(ASSET_FILENAME)); mMediaPlayer.setMedia(media); media.release();

u010735007的博客 2119

企业财务共享服务中心业务蓝图规划方案【附全文阅读】

《企业财务共享服务中心业务蓝图规划方案》为集团企业提供财务共享中心建设全流程指导,涵盖战略定位、组织架构、业务流程、信息系统、运营管理和变革实施六大维度。方案明确共享中心"交易处理+战略支撑"双重职能,设计专业分组架构,筛选标准化高、价值明确的流程(如核算、资金结算等)纳入共享范围,构建业财一体化平台,并配套绩效与风险管控体系。结合项目型企业管理特点,分阶段推进实施,助力企业实现财务集中化与标准化转型。

cdfunlove的博客 994

ethernet eth0: Could not attach to PHY

整个流程看下来就是MAC connect PHY的过程失败了,失败的具体原因根据config_init,上图(bcm54xx_config_init) ,从此方向入手去定位原因;我这里的问题是has_gmac4没有置1,根据 has_gmac4: uses GMAC4 core.按照上面的调用逻辑,添加了部分打印,定位到__phy_read接口返回失败。stmmac_mdio_read 大部分都是linux的标准接口。最终取决于平台用的是哪家的phy,调用config_init。

无线互联&网络介绍 2700

修改VLC读缓冲机制

0x00 前置信息 为进一步降低延迟,采用极端方法修改VLC读缓冲机制。 0x01 VLC读缓冲机制 对于一个rtmp流的读取,发起端在Demux module中,具体在该模块的Demux方法中调用ffmepg的接口av_read_frame读取每一帧数据。但是这个read的接口实在不清晰,经过了多个抽象层的封装,最后真正指向了rtmp_read接口。还是通过一个图来看会比较清晰: 上

qpx0033的专栏 8864

【INMP441】 MEMS麦克风,让硬件“听得见”,更要“听得清”

INMP441是一款数字MEMS麦克风,采用PDM接口输出高质量数字音频信号。相比传统模拟麦克风,它具有高度集成、抗干扰强、功耗低等优势,支持通过时钟启停实现软件控制开关。该麦克风体积小巧但功能强大,内置MEMS传感器、ADC转换器等模块,适合智能音箱、语音遥控等应用。工程师可通过ESP32等主控芯片轻松连接INMP441,利用多麦克风阵列实现波束成形等高级功能。INMP441展现了数字音频采集的先进技术,为创客和智能硬件开发者提供了优秀的音频解决方案。

深耕CV 1536

VLC缓冲机制简介

最近在做播放器的缓冲优化,学习了解下几个优秀开源播放器的缓冲设计方案,边看边学,本文记录下VLC的缓冲机制。 先附上github地址: GitHub - videolan/vlc: VLC media player - All pull requests are ignored, please follow https://wiki.videolan.org/Sending_Patches_VLC/ 播放器的缓冲区管理一般在demxuer模块,VLC也不例外,缓冲逻辑的对外接口文件是 vlc/mod

Rainman的博客 1551

微信小程序 - 最新将页面可分享到朋友圈功能,小程序实现分享到朋友圈功能,开启分享给好友及分享朋友圈功能(微信小程序怎么分享到朋友圈?详细流程及示例代码教程)

没有设置过分享朋友圈功能的小程序,分享朋友圈按钮是灰色且无法点击。小程序 vue2 | vue3 版本语法都能使用,跟着教程复制代码运行即可。如下图所示,将页面开启分享后便可由用户转发出去。

🏆 前端领域优质创作者 2417

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

vlc 缓冲大小 设置_Qt音视频开发5-vlc事件订阅

## 一、前言事件订阅可以拿到文件长度、播放进度、播放状态改变等信息,vlc的事件订阅机制封装的比较友好,只需要先创建一个事件管理器,然后逐个订阅自己感兴趣的需要的事件,不感兴趣的可以不要订阅,只有订阅了的事件才能在事件回调中拿到,所以如果在事件回调中发现一些事件没有拿到,首先要检查下到底订阅了没有,所有事件的枚举在libvlc_events.h头文件中可以查阅到,都用的是通俗易懂的全英文单词描述...

weixin_39816027的博客 353

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

vlc android 编译 mac,【VLC-Android】Mac下编译vlc-android

前言突然想整整VLC-Android,然后就下一个玩玩看,这里记录点遇到的问题。声明欢迎转载,但请保留文章原始出处:)博客园:http://www.cnblogs.com农民伯伯: http://over140.cnblogs.com正文本文vlc-android的版本为:2.2.0-pre1 Weatherwax一般按照官网来就行(https://wiki.videolan.org/Androi...

weixin_34817716的博客 245

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

mac 编译vlc android 源码,Mac下编译vlc-android

前言突然想整整VLC-Android,然后就下一个玩玩看,这里记录点遇到的问题。声明欢迎转载,但请保留文章原始出处:)博客园:http://www.cnblogs.com农民伯伯: http://over140.cnblogs.com正文一般按照官网来就行(https://wiki.videolan.org/AndroidCompile),以下是遇到的几个问题:1、环境变量配置exportAND...

weixin_32866779的博客 271

Vlc.DotNet高级技巧:自定义音视频渲染与事件处理实战

Vlc.DotNet是一个强大的.NET库,它封装了VLC媒体播放器的核心功能,为.NET开发者提供了完整的音视频处理解决方案。这个开源项目让你能够在WinForms和WPF应用程序中轻松集成专业的媒体播放功能,同时支持自定义渲染和丰富的事件处理机制。无论你是开发媒体播放器、视频编辑工具还是流媒体应用,Vlc.DotNet都能提供强大的支持。🚀 ## 📊 Vlc.DotNet核心功能概览

gitblog_00238的博客 479

【VLC-Android】Mac下编译vlc-android

【VLC-Android】Mac下编译vlc-android   正文 本文vlc-android的版本为:2.2.0-pre1 Weatherwax  一般按照官网来就行(https://wiki.videolan.org/AndroidCompile),以下是遇到的几个问题: 1、环境变量配置 export ANDROID_NDK=/Users/nmbb/Andro

xlhb的专栏 921

Vlc.DotNet:在.NET应用中集成VLC媒体播放功能的终极指南

你是否曾经希望在.NET应用程序中轻松添加专业的音视频播放功能?Vlc.DotNet正是为这个需求而生的强大解决方案!这个开源库为.NET开发者提供了一个完整的VLC媒体播放器封装,让你能够快速在WinForms和WPF应用中集成多媒体播放能力。 ## 为什么选择Vlc.DotNet?🎯 Vlc.DotNet的核心价值在于它简化了在.NET环境中使用libvlc库的复杂性。作为VLC媒体播放

gitblog_00362的博客 98

Vlc控件接口

Vlc控件接口 Vlc Plugin Object的方法 l VersionInfo:成员, 返回版本信息的字符串 l vlc.versionInfo():方法, 返回版本信息的字符串 Audio object的属性(读写) l vlc.audio.mute :静音和非静音 l vlc.audio.volume:音量的百分比,值在0—200之间 l vlc.audio.t

anguslzh的专栏 1158

VLC接收网络串流缓冲时间的计算 (转)

原帖地址:http://blog.csdn.net/coroutines/article/details/7472743      VLC版本2.0.1         最近研究IP-STB音视频同步问题,发现方案自带的自动STC在网络延时过大时,不能成功同步音视频。在参考了VLC的串流播放机制后,以为适当缓冲可以解决此问题,可惜最终结果是稍有缓解,并不能从根本上解决。但这种缓冲时间的计算...

weixin_34102807的博客 114

【VLC-Android】vlc-android简例

【VLC-Android】vlc-android简例   前言   继续折腾vlc,做这个例子并不顺利,卡在只有声音没有图像这个问题好久,网上的例子有些API已经对不上,继续分享,,,   正文   截图        项目        代码 public class VlcVideoActivity extends Activity implements Su

xlhb的专栏 618
上一篇: Linux 下编译Android-VLC开源播放器详解
下一篇: ffmpeg 的 configure 文件的编译参数
xb_smart
博客等级 码龄16年 124粉丝 74原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值