vlc-android-sdk开源库中的MediaPlayer类与原生MediaPlayer的对比

来源:互联网 发布:linux 关闭snmp 编辑:程序博客网 时间:2024/06/17 05:43

vlc-android的LibVLC相当于MediaPlayer对象,这里列一下对应关系。

1、public void playMRL(String mrl)

对应MediaPlayer的setDataSource,注意不要转成Uri再toString,否则无法播放。用法如下:

playMRL("http://live.3gv.ifeng.com/zixun.m3u8") 

 

2、 public native voidplay()

对应MediaPlayer的start(),开始播放。

 

3、 public native voidpause()

对应MediaPlayer的pause(),暂停播放。

 

4、public native voidstop() 

对应MediaPlayer的stop(),停止播放。

 

5、public native booleanisPlaying() 

对应 MediaPlayer的isPlaying,是否正在播放。

 

6、public native intgetPlayerState();

获取播放器的状态。 

 

7、public native intgetVolume() 

  获取音量。

 

8、public native intsetVolume(int volume) 

设置音量。(取值范围和MediaPlayer不一样

 

9、public native longgetLength()

 对应 MediaPlayer的getDuration。获取视频的长度,以毫秒为单位。

 

10、public native longgetTime()

返回视频当前时间,以毫秒为单位。 

 

11、public native longsetTime(long time)

设置视频当前时间,以毫秒为单位。 

 

12、public native floatgetPosition()

对应MediaPlayer的getCurrentPosition。设置视频当前位置。 

 

 

13、public native voidsetPosition(float pos)

对应 MediaPlayer的seekTo。设置视频当前位置。 


14、public native voidsetRate(float rate)

设置播放速度(可实现快进快退)1是正常速度,2是两倍速(我猜可能和Vitamio一样取值是0.5 ~ 2.0) ,对应的有getRate方法。

 

15、public native booleanisSeekable()

是否支持seek(拖拽)。比如直播就不支持seek操作 

 

16、public voiddestroy() 

 对应 MediaPlayer的release,销毁LibVLC实例。

 

17、public byte[]getThumbnail(String mrl, int i_width, int i_height)

获取视频的截图,rgba的byte数组。 

 

18、public voidsetHardwareAcceleration(int hardwareAcceleration)

设置硬解编码,参考LibVLC.HW_ACCELERATION_FULL等参数

 

19、public voidsetNetworkCaching(int networkcaching)

设置网络缓冲。(还不知道怎么用,有看到设置值为3000、6000) 

 

20、public voidsetFrameSkip(boolean frameskip) 

(暂时也不知道有啥用,好像可以提高性能,帧解码出错以后直接跳过?) 

 

原创粉丝点击