wlmedia播放器集成— 实现视频播放

Posted ywl5320

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wlmedia播放器集成— 实现视频播放相关的知识,希望对你有一定的参考价值。

前言:

由于jcenter不久将关闭,所以 wlmedia 项目已迁移到 jitpack

GitHub地址:https://github.com/wanliyang1990/wlmedia

正文

纵观android平台涉及到的音视频播放SDK,比如:exo、ijk等的api调用都是比较复杂的,很少能几句代码就能实现播放。wlmedia真正实现了几句代码就可实现音视频播放,并且不需要传入Context上下文,绝对的解耦!

  • 效果展示

  • 布局文件:
<com.ywl5320.wlmedia.surface.WlSurfaceView
        android:id="@+id/wlsurfaceview"
        android:layout_width="match_parent"
        android:layout_height="250dp"/>
  • 调用代码:
    private WlSurfaceView wlSurfaceView;
    private WlMedia wlMedia;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_play_video_layout);
        wlSurfaceView = findViewById(R.id.wlsurfaceview);
        wlMedia = new WlMedia(); //第一句
        wlMedia.setSource("http://zhibo.hkstv.tv/livestream/mutfysrq.flv"); //第二句
        wlSurfaceView.setWlMedia(wlMedia); //第三句
        wlMedia.setOnMediaInfoListener(new WlOnMediaInfoListener() { //第四句
            @Override
            public void onPrepared() {
                wlMedia.start(); //第五句
            }

            @Override
            public void onError(int code, String msg) {

            }

            @Override
            public void onComplete(WlComplete type, String msg) {

            }

            @Override
            public void onTimeInfo(double currentTime, double bufferTime) {

            }

            @Override
            public void onSeekFinish() {

            }

            @Override
            public void onLoopPlay(int loopCount) {

            }

            @Override
            public void onLoad(boolean load) {

            }

            @Override
            public byte[] decryptBuffer(byte[] encryptBuffer) {
                return new byte[0];
            }

            @Override
            public byte[] readBuffer(int read_size) {
                return new byte[0];
            }

            @Override
            public void onPause(boolean pause) {

            }
        });

        wlSurfaceView.setOnVideoViewListener(new WlOnVideoViewListener() { //第六句
            @Override
            public void initSuccess() {
                wlMedia.prepared(); //第七句
            }

            @Override
            public void onSurfaceChange(int width, int height) {

            }

            @Override
            public void moveX(double value, int move_type) {

            }

            @Override
            public void onSingleClick() {

            }

            @Override
            public void onDoubleClick() {

            }

            @Override
            public void moveLeft(double value, int move_type) {

            }

            @Override
            public void moveRight(double value, int move_type) {

            }
        });
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        wlMedia.release(); //第八局
    }

除去布局文件和回调实现方法,总共不到10句代码即可实现Android音视频播放,剩下的时间可以去学习新知识了,哈哈~

源码地址:传送门

 

 

 

以上是关于wlmedia播放器集成— 实现视频播放的主要内容,如果未能解决你的问题,请参考以下文章

wlmedia播放器集成— 实现视频播放

wlmedia播放器集成— 实现视频播放

wlmedia播放器集成— 常用自定义view

wlmedia播放器集成— 常用自定义view

wlmedia播放器集成— 常用自定义view

wlmedia播放器集成— 常用自定义view