/**
options 中的参数,我在csdn中找过很多篇文章了,有的文章一个参数也没写,有的写的都是关于缓存的,还有的写了几个,也没说明是什么意思
然后只能跑到csdn下载文档查看,为了方便网友们的使用,这里就简单写一下我是怎么使用的,后面会附上options的参数意义
position就是当前播放第几条
media.setHWDecoderEnabled(true,true);//开启硬件加速  参考的网友的代码
surfaceView就是容器了,这个在布局中自己定义一下就行
*/
public void CreateVlcManager(int position){
    releasePlayer();
    if(mList!=null&&mList.size()>0&&position<mList.size()){
        MediaDetailBean bean = mList.get(position);
        String url = bean.getUrl();
        toast("url:"+url);
        ArrayList<String> options = new ArrayList<>();
        options.add("--aout=opensles");//音频输出模块opensles模式
        options.add("--audio-time-stretch");
        options.add("-vvv");
        options.add("--no-skip-frames");//关闭 跳过帧
        options.add("--deinterlace=1");
        options.add("--deinterlace-mode=blend");//解除交错模式

        libVLC = new LibVLC(getApplicationContext(), options);
        mediaPlayer = new MediaPlayer(libVLC);
        media = new Media(libVLC, Uri.parse(url));
        media.setHWDecoderEnabled(true,true);//开启硬件加速
        mediaPlayer.setMedia(media);
        ivlcVout = mediaPlayer.getVLCVout();
        ivlcVout.setVideoView(surfaceView);
        ivlcVout.addCallback(this);
        ivlcVout.attachViews();
        mediaPlayer.play();
        mediaPlayer.setEventListener(this);
    }
}

private void releasePlayer() {
    if (libVLC == null) {
        return;
    }
    try {
        if (media.getDuration() > 0) {
            mediaPlayer.stop();
        } else {
            mediaPlayer.stop();
        }
        ivlcVout.removeCallback(this);
        ivlcVout.detachViews();
        surfaceHolder = null;
        libVLC.release();
        libVLC = null;
        mediaPlayer = null;
    } catch (Exception e) {
        e.printStackTrace();
    }
}

关于options中参数的意义(仅供参考)

音频
--audio, --no-audio 打开音频 (默认打开)  
--volume 默认音量 <整型>
--volume-step 输出音量步长 <整型>
--aout-rate 音频输出频率(Hz) <整型>
--hq-resampling, --no-hq-resampling 高质量音频采样 (默认打开)  
--spdif, --no-spdif 当可用时使用 S/PDIF音频输出 (默认关闭)  
--force-dolby-surround 强制检测杜比环绕 {0 (自动), 1 (开), 2 (关)}   
--audio-desync 音频异步校正 <整型>
--aout 音频输出模块 <字符串型>
--audio-filter 音频滤波器 <字符串型>
--audio-visual 音频视觉效果 <字符串型>
     
 视频
--video, --no-video 启动视频 (默认打开)  
--grayscale, --no-grayscale 灰度视频输出 (默认关闭)  
--f, --fullscreen, --no-fullscreen 全屏幕视频输出 (默认关闭)  
--drop-late-frames, --no-drop-late-frames 丢弃晚的帧 (默认打开)  
--skip-frames, --no-skip-frames 跳过帧 (默认打开)  
--quiet-synchro, --no-quiet-synchro 静音同步 (默认关闭)  
--overlay, --no-overlay 重叠视频输出 (默认打开)  
--video-on-top, --no-video-on-top 永远在最上层 (默认关闭)  
--disable-screensaver, --no-disable-screensaver 关闭屏幕保护程序 (默认打开)  
--snapshot-path 视频快照目录 (或文件名) <字符串型>
--snapshot-prefix 视频快照文件前缀 <字符串型>
--snapshot-format 视频快照格式 {png,jpg}
--snapshot-preview, --no-snapshot-preview 显示视频快照预览 (默认打开)  
--snapshot-sequential, --no-snapshot-sequential 使用有序数字代替时间戳 (默认关闭)  
--width 视频宽度 <整型>
--height 视频高度 <整型>
--video-x 视频 X 坐标 <整型>
--video-y 视频 Y 坐标 <整型>
--crop 视频修整 <字符串型>
--custom-crop-ratios 自定义修整比率列表 <字符串型>
--aspect-ratio 源比率 <字符串型>
--monitor-par 监视器像素纵横比 <字符串型>
--custom-aspect-ratios 自定义纵横比列表 <字符串型>
--hdtv-fix, --no-hdtv-fix  固定 HDTV 高度 (默认打开)    
--video-deco, --no-video-deco 窗口装饰 (默认打开)  
--video-title 视频标题 <字符串型>
--align 视频对齐 {0 (居中), 1 (左), 2 (右), 4 (顶部), 8 (底部), 5 (左上), 6 (右上), 9 (左下), 10 (右下)}
--zoom 缩放视频 <浮点型>
--vout 视频输出模块 <字符串型>
--vout-filter 视频过滤器模块 <字符串型>
     
译码器
--codec 偏好的解码器清单 <字符串型>
--encoder 偏好的编码器清单输入 <字符串型>
--access 存取模块 <字符串型>
--access-filter 存取过滤器模块 <字符串型>
--demux 解多任务模块串流输出 <字符串型>
--sout 默认串流输出链 <字符串型>
--sout-display, --no-sout-display 串流时显示 (默认关闭)  
--sout-keep, --no-sout-keep 持续开启串流输出 (默认关闭)  
--sout-all, --no-sout-all 打开串流所有 ES (默认关闭)  
--sout-audio, --no-sout-audio 启动音频串流输出 (默认打开)  
--sout-video, --no-sout-video 启动视频串流输出 (默认打开)  
--sout-spu, --no-sout-spu 启动 SPU 串流输出 (默认打开)  
--vlm-conf VLM设置档 <字符串型>
--mux 多任务模块 <字符串型>
--access_output 存取输出模块 <字符串型>
--ttl Hop 限制 (TTL) <整型>
--miface IPv6 多播输出接口 <字符串型>
--miface-addr IPv4 多播输出接口地址 <字符串型>
--packetizer 偏好的封包器清单 <字符串型>
--sap-flow-control, --no-sap-flow-control 控制SAP流量 (默认关闭)  
--sap-interval SAP 通告间隔 <整型>

 

 播放列表
--random, --no-random 永远随机播放文件 (默认关闭)  
--loop, --no-loop 重复播放全部 (默认关闭)  
--repeat, --no-repeat 重复播放目前项目 (默认关闭)  
--play-and-stop, --no-play-and-stop 播放和停止 (默认关闭)  
--open 默认串流 <字符串型>
--auto-preparse, --no-auto-preparse 自动预解释文件 (默认打开)  
  -S, --services-discovery 服务探索模块 <字符串型>
--verbose 提示(0,1,2) <整型>
--quiet, --no-quiet 安静 (默认关闭)  
--file-logging, --no-file-logging 记录到文件 (默认关闭)  
--language 语言 {auto,en,en_GB,ar,ca,cs,da,de,es,fa,fr,gl,he,hu,it,ja,ka,ko,ms,ne,nl,oc,pl,pt_BR,ro,ru,sk,sl,sv,th,tr,zh_CN,zh_TW}
--color, --no-color 色彩化讯息 (默认关闭)  
--advanced, --no-advanced 显示高级选项 (默认打开)  
--interact, --no-interact 界面互动 (默认打开)  
--show-intf, --no-show-intf 用鼠标来显示界面 (默认关闭)  
--stats, --no-stats 收集统计信息 (默认打开)  
--intf 界面模块 <字符串型>
--extraintf 额外界面模块 <字符串型>
--control 控制界面热键 <字符串型>
--key-fullscreen 全屏幕 <整型>
--key-play-pause 播放/暂停 <整型>
--key-pause 仅暂停 <整型>
--key-play 仅播放 <整型>
--key-faster 加快 <整型>
--key-slower 放慢 <整型>
--key-next 下一项 <整型>
--key-prev 上一项 <整型>
--key-stop 停止 <整型>
--key-position 位置 <整型>
--key-jump-extrashort 向后跳一很小的段 <整型>
--key-jump+extrashort 向前跳一很小的段 <整型>
--key-jump-short 向后跳一小段 <整型>
--key-jump+short 向前跳一小段 <整型>
--key-jump-medium 向后跳一中段 <整型>
--key-jump+medium 向前跳一中段 <整型>
--key-jump-long 向后跳一大段 <整型>
--key-jump+long 向前跳一大段 <整型>
--key-nav-activate 启动 <整型>
--key-nav-up 向上导览 <整型>
--key-nav-down 向下导览 <整型>
--key-nav-left 向左导览 <整型>
--key-nav-right 向右导览 <整型>
--key-disc-menu 转到DVD选单 <整型>
--key-title-prev 选择上一个DVD章节 <整型>
--key-title-next 选择下一个DVD章节 <整型>
--key-chapter-prev 选择上一个 DVD 章节 <整型>
--key-chapter-next 选择下一个 DVD 章节 <整型>
--key-quit 离开 <整型>
--key-vol-up 增加音量 <整型>
--key-vol-down 减低音量 <整型>
--key-vol-mute 静音 <整型>
--key-subdelay-up 增加字幕延迟 <整型>
--key-subdelay-down 减少字幕延迟 <整型>
--key-audiodelay-up 增加音频延迟 <整型>
--key-audiodelay-down 减少音频延迟 <整型>
--key-audio-track 循环音轨 <整型>
--key-subtitle-track 循环字幕轨 <整型>
--key-aspect-ratio 循环源纵横比 <整型>
--key-crop 循环视频修整 <整型>
--key-deinterlace 循环解除交错模块 <整型>
--key-intf-show 显示界面 <整型>
--key-intf-hide 隐藏接口 <整型>
--key-snapshot 获取视频快照 <整型>
--key-history-back 在浏览历史中后退 <整型>
--key-history-forward 在浏览历史中前进 <整型>
--key-record 录制 <整型>
--key-dump 倾倒 <整型>
--key-crop-top 在视频顶部修剪一个像素 <整型>
--key-uncrop-top 不在视频顶部修剪一个像素 <整型>
--key-crop-left 在视频左侧修剪一个像素 <整型>
--key-uncrop-left 不在视频左侧修剪一个像素 <整型>
--key-crop-bottom 在视频底部修剪一个像素 <整型>
--key-uncrop-bottom 不在视频底部修剪一个像素 <整型>
--key-crop-right 从视频右侧修剪一个像素 <整型>
--key-uncrop-right 不在视频右部修剪一个像素 <整型>
--extrashort-jump-size 跳一很小的段的长度 <整型>
--short-jump-size 跳一小段的长度 <整型>
--medium-jump-size 跳一中段的长度 <整型>
--long-jump-size 长跳长度 <整型>
--key-set-bookmark1  设置播放列表书签 1 <整型>
--key-set-bookmark2  设置播放列表书签 2 <整型>
--key-set-bookmark3  设置播放列表书签 3 <整型>
--key-set-bookmark4  设置播放列表书签 4 <整型>
--key-set-bookmark5  设置播放列表书签 5 <整型>
--key-set-bookmark6  设置播放列表书签 6 <整型>
--key-set-bookmark7  设置播放列表书签 7 <整型>
--key-set-bookmark8  设置播放列表书签 8 <整型>
--key-set-bookmark9  设置播放列表书签 9 <整型>
--key-set-bookmark10  设置播放列表书签 10 <整型>
--key-play-bookmark1  播放播放列表书签 1 <整型>
--key-play-bookmark2  播放播放列表书签 2 <整型>
--key-play-bookmark3  播放播放列表书签 3 <整型>
--key-play-bookmark4  播放播放列表书签 4 <整型>
--key-play-bookmark5  播放播放列表书签 5 <整型>
--key-play-bookmark6  播放播放列表书签 6 <整型>
--key-play-bookmark7  播放播放列表书签 7 <整型>
--key-play-bookmark8  播放播放列表书签 8 <整型>
--key-play-bookmark9  播放播放列表书签 9 <整型>
--key-play-bookmark10  播放播放列表书签 10 <整型>
--bookmark1   播放列表书签 1 <字符串型>
--bookmark2   播放列表书签 2 <字符串型>
--bookmark3   播放列表书签 3 <字符串型>
--bookmark4   播放列表书签 4 <字符串型>
--bookmark5   播放列表书签 5 <字符串型>
--bookmark6   播放列表书签 6 <字符串型>
--bookmark7   播放列表书签 7 <字符串型>
--bookmark8   播放列表书签 8 <字符串型>
--bookmark9   播放列表书签 9 <字符串型>
--bookmark10  播放列表书签 10 <字符串型>
 FTP 输入
--ftp-caching 缓存值 (毫秒) <整型>
--ftp-user FTP 用户名 <字符串型>
--ftp-pwd FTP 密码 <字符串型>
--ftp-account FTP 账户 <字符串型>
     
 HTTP输入
--http-proxy HTTP 代理 <字符串型>
--http-caching 缓存值 (毫秒) <整型>
--http-user-agent HTTP 用户代理 <字符串型>
--http-reconnect, --no-http-reconnect 自动重新连接 (默认关闭)  
--http-continuous, --no-http-continuous 连续流 (默认关闭)  
     
Microsoft Media Server (MMS)输入
--mms-caching 缓存值 (毫秒) <整型>
--mms-all, --no-mms-all Force selection of all streams (默认关闭)  
--mms-maxbitrate 最大比特率文件串流输出 <整型>
--sout-file-append, --no-sout-file-append 追加到文件 (默认关闭)  
     
 HTTP 串流输出    
--sout-http-user 用户名 <字符串型>
--sout-http-pwd 密码 <字符串型>
--sout-http-mime Mime <字符串型>
--sout-http-cert 证书文件 <字符串型>
--sout-http-key 私钥文件 <字符串型>
--sout-http-ca 根 CA 文件 <字符串型>
--sout-http-crl CRL 文件 <字符串型>
--sout-http-bonjour, --no-sout-http-bonjour Advertise with Bonjour (默认关闭)  
     
 IceCAST 输出
--sout-shout-name 串流名称 <字符串型>
--sout-shout-description 串流描述 <字符串型>
--sout-shout-mp3, --no-sout-shout-mp3 串流 MP3 (默认关闭)  
     
 UDP 串流输出
--sout-udp-caching 缓存值 (毫秒) <整型>
--sout-udp-ttl 有效时间(TTL) <整型>
--sout-udp-group Group packets <整型>
--sout-udp-raw, --no-sout-udp-raw Raw 写入 (默认关闭)  
     
 Real RTSP
--realrtsp-caching 缓存值 (毫秒) <整型>
     
 SMB输入
--smb-caching 缓存值 (毫秒) <整型>
--smb-user SMB 用户名 <字符串型>
--smb-pwd SMB 密码 <字符串型>
--smb-domain SMB 域 <字符串型>
     
 TCP输入
--tcp-caching 缓存值 (毫秒) <整型>
     
 UDP/RTP 输入
--udp-caching 缓存值 (毫秒) <整型>
--rtp-late RTP reordering timeout in ms <整型>
--udp-auto-mtu, --no-udp-auto-mtu 自动检测 MTU (默认打开)  
     
 图像属性过滤器
--contrast 影像对比(0-2) <浮点型>
--brightness 影像亮度(0-2) <浮点型>
--hue 影像色调(0-360) <整型>
--saturation 影像饱和度(0-3) <浮点型>
--gamma 影像反差系数(0-10) <浮点型>
--brightness-threshold, --no-brightness-threshold 亮度阈值 (默认关闭)  
     
 DirectX音频输出
--directx-audio-device 输出装置 <整型>
--directx-audio-float32, --no-directx-audio-float32 使用float32输出 (默认关闭)  
     
 文件音频输出
--audiofile-format 输出格式 {u8,s8,u16,s16,u16_le,s16_le,u16_be,s16_be,fixed32,float32,spdif}
--audiofile-channels 输出频道数量 <整型>
--audiofile-file 输出文件 <字符串型>
--audiofile-wav, --no-audiofile-wav 加入 WAVE 头部 (默认打开)  
     
 AVI 分离器
--avi-interleaved, --no-avi-interleaved  Force interleaved method (默认关闭)  
--avi-index Force index creation {0 (询问), 1 (永远固定), 2 (从不修复)}
     
 音频 CD 输入
--cdda-caching 缓存值 (毫秒) <整型>
--cdda-separate-tracks, --no-cdda-separate-tracks (null) (默认打开)  
--cdda-track (null) <整型>
--cddb-server CDDB 服务器 <字符串型>
--cddb-port CDDB 服务器端口 复制视频过滤器 <整型>
--clone-count 复制数量 <整型>
--clone-vout-list 视频输出模块 <字符串型>
     

 

 

Logo

云原生社区为您提供最前沿的新闻资讯和知识内容

更多推荐