ijkPlayer在Android平台的使用优化

1: 设置是否开启变调

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"soundtouch",isModifyTone?0:1);

2:设置是否开启环路过滤:  0开启,画面质量高,解码开销大,48关闭,画面质量差点,解码开销小

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC,"skip_loop_filter",isSkipLoopFilter?0:48L);

3:设置播放前的最大探测时间

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"analyzemaxduration",100L);

4:设置播放前的探测时间 1,达到首屏秒开效果

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"analyzeduration",1);

5:播放前的探测Size,默认是1M, 改小一点会出画面更快

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"probesize",1024*10);

6:每处理一个packet之后刷新io上下文

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT,"flush_packets",1L);

7: 是否开启预缓冲,一般直播项目会开启,达到秒开的效果,不过带来了播放丢帧卡顿的体验

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"packet-buffering",isBufferCache?1:0);

8:播放重连次数

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"reconnect",5);

9:最大缓冲大小,单位kb

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"max-buffer-size",maxCacheSize);

10:跳帧处理,放CPU处理较慢时,进行跳帧处理,保证播放流程,画面和声音同步

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"framedrop",5);

11:最大fps

mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,"max-fps",30);

你可能感兴趣的:(ijkPlayer在Android平台的使用优化)