您的位置:首页 > 移动开发 > Android开发

vlc-for-android

2016-11-14 17:47 330 查看
http://blog.csdn.net/woaiheima/article/details/51035154

简介

    VLC的全名是Video Lan Client,是一个开源的、跨平台的视频播放器。VLC支持大量的音视频传输、封装和编码格式,完整的功能特性列表可以在这里获得http://www.videolan.org/vlc/features.html,下面给出一个简要的不完整的列表:

    操作系统:Windows、WinCE、Linux、MacOSX、BEOS、BSD

    访问形式:文件、DVD/VCD/CD、http、ftp、mms、TCP、UDP、RTP、IP组播、IPv6、rtsp

    编码格式:MPEG*、DIVX、WMV、MOV、3GP、FLV、H.263、H.264、FLAC

    视频字幕:DVD、DVB、Text、Vobsub

    视频输出:DirectX、X11、XVideo、SDL、FrameBuffer、ASCII

    控制界面:WxWidgets、QT4、Web、Telnet、Command line

    浏览器插件:ActiveX、Mozilla(firefox)  

1.如果不想自己编辑vlc的代码的话,可以下载在github上可以使用的demo。

2.下载地址:

(1)vlc-for-Android demo地址(已经编译好的):https://github.com/over140/vlc-android-demo
(注意工程是Android Studio的工程)

(2)如果想自己编译的话,可以去https://wiki.videolan.org官网上下载,参考地址:http://www.cnblogs.com/dwayne/archive/2012/12/21/vlc_android.html.

3.VLC API:

(1、public void playMRL(String mrl)

对应MediaPlayer的setDataSource(path),可以读取本地文件和流媒体文件,当然读取本地文件要加”file://”+path,读取流媒体就可以直接输入即可,有很多人问怎么区分服务器本地的url还是流媒体,我认为主要是isSeekable的判读,如果不能拖拽就是流媒体。(这是本人的见解,如有误区,请及时指正)。

(2、 public native void play()

开始

(3、 public native void pause()

暂停

(4、public native void stop() 

停止

(5、public native boolean isPlaying() 

是否正在播放

(6、public native int getPlayerState();

获取播放的状态 

(7、public native int getVolume() 

获取音量。

(8、public native int setVolume(int volume) 

设置音量。

(9、public native long getLength()

获取视频的长度,以毫秒为单位。

(10、public native long getTime()

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

(11、public native long setTime(long time)

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

(12、public native float getPosition()

设置视频当前位置。 

(13、public native void setPosition(float pos)

设置视频当前位置。 

(14、public native void setRate(float rate)

设置播放速度,1是正常速度,2是两倍速。

(15、public native boolean isSeekable()

是否支持拖拽(判断是否为直播流的重要依据)。

(16、public void destroy() 

销毁LibVLC实例。

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

获取视频的截图。 

(18、public void setHardwareAcceleration(int hardwareAcceleration)

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

(19、public void setNetworkCaching(int networkcaching)

设置网络缓冲。

(20、public void setFrameSkip(boolean frameskip) 

帧解码出错跳过。

 




0

0

 

 

上一篇支付宝Pay,一个类直接搞定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: