vlc缓冲事件添加及缓冲进度
来源:互联网 发布:python爬虫怎样赚外快 编辑:程序博客网 时间:2024/05/21 22:38
1.缓冲事件添加:vlc已内置好事件,只不过未开放API。
主要参考:http://blog.csdn.net/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;
0 0
- vlc缓冲事件添加及缓冲进度
- vlc缓冲事件添加及缓冲进度
- 修改VLC读缓冲机制
- 缓冲
- 缓冲
- 缓冲
- 缓冲
- 缓冲
- VLC网络流缓冲时间计算
- ogre缓冲及锁
- ogre缓冲及锁
- VLC优化(2)修改VLC读缓冲机制
- js遮罩层,添加缓冲画面
- 深度冲突及W缓冲
- VLC接收网络串流缓冲时间的计算
- VLC接收网络串流缓冲时间的计算
- VLC接收网络串流缓冲时间的计算 (转)
- 缓冲与非缓冲
- Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题
- UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
- ViewPager+RadioButton+FragmentPagerAdapter实现导航fragment生命周期分析
- android多国语言 国际化
- 在iOS中使用第三方类库
- vlc缓冲事件添加及缓冲进度
- HTML5 translate 的变换参数的意义
- R文件丢失,ADT似乎并不稳定,stackoverflow上面找到答案。
- 系统出现乱码的原因和语系编码转换
- 几款漂亮的Eclipse编辑器皮肤 .
- 消除SDK更新时的链接问题 “https://dl-ssl.google.com refused”
- 如何在FireFox浏览器上访问微信公共账户提供的链接
- calloc=malloc+memset?
- Android ZXing 3.1.0编译方法,源码运行CaptureActivity4.7.1