Android(安卓)vlc 简单使用
16lz
2021-12-04
第一步:
//Vlc 播放器 implementation group: 'de.mrmaffen', name: 'vlc-android-sdk', version: '3.0.0'
第二步:
private LibVLC libVLC; private IVLCVout ivlcVout; private ArrayList options; private org.videolan.libvlc.MediaPlayer mediaPlayer; public void setVlc() { options=new ArrayList<>(); options.add(":file-caching=500");//文件缓存 options.add(":network-caching=500");//网络缓存 options.add(":live-caching=500");//直播缓存 options.add(":sout-mux-caching=500");//输出缓存 options.add(":codec=mediacodec,iomx,all"); options.add(":rtsp-frame-buffer-size=1000"); //RTSP帧缓冲大小,默认大小为100000 options.add(":rtsp-tcp");//RTSP采用TCP传输方式 options.add(":sout-rtp-proto={dccp,sctp,tcp,udp,udplite}");//RTSP采用TCP传输方式 jzVideo = findViewById(R.id.jz_video); libVLC = LibVlcSingle.getLibVLC(options); mediaPlayer = new org.videolan.libvlc.MediaPlayer(libVLC); ivlcVout = mediaPlayer.getVLCVout(); ivlcVout.setVideoView(jzVideo); ivlcVout.attachViews(); }public void play(String path) { media=new Media(libVLC,Uri.parse(path)); media.setHWDecoderEnabled(false, false); mediaPlayer.setMedia(media); media.release(); mediaPlayer.play(); media.setEventListener(new Media.EventListener() { @Override public void onEvent(Media.Event event) { Log.d("VLC- 播放状态:", event.type + ""); switch (event.type) { case Opening://打开中 showDialog1("打开中"); break; case Buffering://缓冲中 showDialog1("缓冲中"); break; case Paused://暂停中 showDialog1("暂停中"); break; case Error://播放出错 showDialog1("播放出错"); break; case Ended://播放出错 Toast.makeText(LiveActivity.this, "播放完成", Toast.LENGTH_SHORT).show(); break; case Playing://播放中 if (huds != null) { if (huds.isShowing()) { huds.dismiss(); } } break; default: if (huds != null) { if (huds.isShowing()) { huds.dismiss(); } } break; } } }); }
xml
单例:public class LibVlcSingle { private static LibVLC libVLC = null; public synchronized static LibVLC getLibVLC(ArrayList options) { if (libVLC == null) { if (options == null) { libVLC = new LibVLC(); } else { libVLC = new LibVLC(options); } } return libVLC; }}
更多相关文章
- 【Android(安卓)内存优化】Bitmap 内存缓存 ( Bitmap 内存复用 |
- android视频不播放的问题
- android视频不播放的问题
- Android之SharedPreferences详解与原理分析
- [转]Android(安卓)Audio简述
- 实现简单的Android的播放视频功能
- android 播放视频
- Android中的AnimationDrawable的使用
- Android(安卓)WebView加载H5音视频自动播放、关闭Activity停止播