Android最火的框架系列(三)JiaoZiVideoPlayer

周奇
2023-12-01

    自从五个月前想写一系列的Android最火的框架博客,到现在已经五个月了,仅仅写了BottomBar这一篇。因为正好是年底,项目很忙,所以一直没来得及总结。年初不忙了,因为研究一段时间的Android逆向,所以也一直没写。今天,接着总结Android最火的框架,这篇博客要总结的是JiaoZiVideoPlayer的使用。接下来,让我们一起体验下JiaoZiVideoPlayer。首先,抛出饺子视频播放器的GitHub地址:GitHub - lipangit/JiaoZiVideoPlayer: MediaPlayer exoplayer ijkplayer ffmpeg

一.JiaoZiVideoPlayer的导入

    支持导入jar包或者impletation的方式导入,推荐使用在线导入的方式。除非你工作电脑不允许使用外网,否则不建议使用jar包的形式导入。按照作者的说明,当前的预览版本不稳定,因此推荐使用6.4.3版本。

implementation 'cn.jzvd:jiaozivideoplayer:6.4.3'

二.JiaoZiVideoPlayer播放在线视频

    1、布局文件

    布局文件在这里简单的放了一个JzvStd控件,这是饺子视频播放器封装好的播放控件。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <cn.jzvd.JzvdStd
        android:id="@+id/videoplayer"
        android:layout_width="match_parent"
        android:layout_height="200dp">

    </cn.jzvd.JzvdStd>

</LinearLayout>

    2、MainActivity

    设置播放视频的地址,设置封面,所有的播放逻辑均已经封装好。

package com.tudu.jiaozivideodemo;

import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import cn.jzvd.Jzvd;
import cn.jzvd.JzvdStd;

public class MainActivity extends AppCompatActivity {

    private JzvdStd videoPlayer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        videoPlayer = findViewById(R.id.videoplayer);
        videoPlayer.setUp("http://2449.vod.myqcloud.com/2449_22ca37a6ea9011e5acaaf51d105342e3.f20.mp4"
                , "播放在线视频", Jzvd.SCREEN_WINDOW_NORMAL);
        videoPlayer.thumbImageView.setImageURI(Uri.parse("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640"));
    }

    @Override
    public void onBackPressed() {
        if (Jzvd.backPress()) {
            return;
        }
        super.onBackPressed();
    }

    @Override
    protected void onPause() {
        super.onPause();
        Jzvd.releaseAllVideos();
    }
}

3、Manifest文件

    Manifest文件除了按照Github上设置外,还需要设置访问网络的权限。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tudu.jiaozivideodemo">

    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

    最后,总结一下,使用JiaoZiVideoPlayer可以很简单的实现在线视频播放。自己试过播放assets和sd卡中的本地视频,目前没找到可以播放的方法。

 类似资料: