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

1.缓冲事件添加:vlc已内置好事件,只不过未开放API。 主要参考:http://blog.csdn.net/memegood123/article/details/87690082.缓冲进度添加: 主要参考http://s

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

主要参考:

2.缓冲进度添加:

主要参考

由于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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值