Android comes with VideoView to play network video

To play online videos, you first need to add network permissions. If it is an http link, you need to add plaintext access permissions

<uses-permission android:name="android.permission.INTERNET" />

Add network_security_config.xml under xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <!--允许访问http协议-->
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

Referenced in application in AndroidManifest.xml

 android:networkSecurityConfig="@xml/network_security_config"

layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorBlack"
    android:gravity="center"
    android:orientation="vertical">

    <VideoView
        android:id="@+id/vv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

the code

public class VideoPalyActivity extends AppCompatActivity {

    private ActivityVideoPalyBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityVideoPalyBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());

        initView();
        initData();
    }

    private void initView() {
        YUtils.showLoading("正在加载,请稍等...");

        String url = "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4";
        binding.vv.setVideoURI(Uri.parse(url));
        MediaController mediaController = new MediaController(this);
        binding.vv.setMediaController(mediaController);
        binding.vv.start();
    }

    private void initData() {
        //加载成功回调
        binding.vv.setOnPreparedListener(mp -> YUtils.hideLoading());
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        //停止播放并关闭资源
        binding.vv.stopPlayback();
    }
}

Guess you like

Origin blog.csdn.net/juer2017/article/details/130431987