VLC在Android中的使用以及vlc中options的参数

/**
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-confVLM设置档<字符串型>
--mux多任务模块<字符串型>
--access_output存取输出模块<字符串型>
--ttlHop 限制 (TTL)<整型>
--mifaceIPv6 多播输出接口<字符串型>
--miface-addrIPv4 多播输出接口地址<字符串型>
--packetizer偏好的封包器清单<字符串型>
--sap-flow-control, --no-sap-flow-control控制SAP流量 (默认关闭) 
--sap-intervalSAP 通告间隔<整型>

 

 播放列表
--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-userFTP 用户名<字符串型>
--ftp-pwdFTP 密码<字符串型>
--ftp-accountFTP 账户<字符串型>
   
 HTTP输入
--http-proxyHTTP 代理<字符串型>
--http-caching缓存值 (毫秒)<整型>
--http-user-agentHTTP 用户代理<字符串型>
--http-reconnect, --no-http-reconnect自动重新连接 (默认关闭) 
--http-continuous, --no-http-continuous连续流 (默认关闭) 
   
Microsoft Media Server (MMS)输入
--mms-caching缓存值 (毫秒)<整型>
--mms-all, --no-mms-allForce selection of all streams (默认关闭) 
--mms-maxbitrate最大比特率文件串流输出<整型>
--sout-file-append, --no-sout-file-append追加到文件 (默认关闭) 
   
 HTTP 串流输出  
--sout-http-user用户名<字符串型>
--sout-http-pwd密码<字符串型>
--sout-http-mimeMime<字符串型>
--sout-http-cert证书文件<字符串型>
--sout-http-key私钥文件<字符串型>
--sout-http-ca根 CA 文件<字符串型>
--sout-http-crlCRL 文件<字符串型>
--sout-http-bonjour, --no-sout-http-bonjourAdvertise 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-groupGroup packets<整型>
--sout-udp-raw, --no-sout-udp-rawRaw 写入 (默认关闭) 
   
 Real RTSP
--realrtsp-caching缓存值 (毫秒)<整型>
   
 SMB输入
--smb-caching缓存值 (毫秒)<整型>
--smb-userSMB 用户名<字符串型>
--smb-pwdSMB 密码<字符串型>
--smb-domainSMB 域<字符串型>
   
 TCP输入
--tcp-caching缓存值 (毫秒)<整型>
   
 UDP/RTP 输入
--udp-caching缓存值 (毫秒)<整型>
--rtp-lateRTP 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-indexForce index creation{0 (询问), 1 (永远固定), 2 (从不修复)}
   
 音频 CD 输入
--cdda-caching缓存值 (毫秒)<整型>
--cdda-separate-tracks, --no-cdda-separate-tracks(null) (默认打开) 
--cdda-track(null)<整型>
--cddb-serverCDDB 服务器<字符串型>
--cddb-portCDDB 服务器端口 复制视频过滤器<整型>
--clone-count复制数量<整型>
--clone-vout-list视频输出模块<字符串型>
   

 

 

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
Android开发使用VLC播放器来切换视频是可行的。VLC是一个广受欢迎的免费、开源的多媒体播放器,它支持多种视频格式,并具有丰富的功能和灵活的接口。以下是在Android应用使用VLC播放器切换视频的基本步骤: 1. 引入VLC库:首先,在Android项目添加VLC库的依赖。你可以到VLC官方网站下载适用于Android的库文件,并将其添加到项目的依赖。确保正确配置库的路径和版本号。 2. 创建VLC播放器实例:在你的代码,你需要创建一个VLC播放器实例。你可以使用VLC库提供的API来创建一个VLC MediaPlayer对象。 3. 设置视频源:在播放视频之前,你需要设置视频的源。你可以指定本地文件路径或网络流作为源。可以使用VLC MediaPlayer对象的setMedia()方法来设置视频源。 4. 播放视频:一旦设置了视频源,你可以调用VLC MediaPlayer对象的play()方法来开始播放视频。此时,VLC会自动加载视频并开始播放。 5. 切换视频:要实现视频切换功能,你可以使用VLC MediaPlayer对象的setMedia()方法来设置新的视频源。在切换视频源之后,可以调用play()方法来开始播放新的视频。 需要注意的是,使用VLC播放器切换视频可能需要处理一些额外的逻辑,例如处理播放过程的错误或网络断等情况。你可以通过注册VLC MediaPlayer对象的监听器来处理这些事件,并根据需要执行相应的操作。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn_zxw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值