ijkplayer播放视频相比其他的播放控件,比如VideoView这个默认播放视频控件在加载视频比较大的时候就会造成卡顿,但是ijkplayer这个播放控件会比VideoView加载时间长的视频更加快一些基本上没什么卡顿。
相信之前你也找过有关ijkpalyer的博客,但是大部分都是需要花钱下载一个So库。
这篇博客让你不用花钱就可以用上ijkpalyer。
接下来让我们一起来用代码操作一番
使用第三方控件首要之务就是“导入依赖”
implementation 'com.github.leifzhang:IjkLib:0.4.3'
需要在清单文件中配置几个权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
紧接着就是布局文件代码:
下面是xml中的布局配置
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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=".Fragment.TypeFragment">
<tv.danmaku.ijk.media.widget.media.IjkVideoView
android:id="@+id/video"
android:layout_width="match_parent"
android:layout_height="200dp"></tv.danmaku.ijk.media.widget.media.IjkVideoView>
</FrameLayout>
具体使用的代码
//我这里使用的是ButterKnife查找的控件,只要找到控件就ok
@BindView(R.id.video)
IjkVideoView video;
//设置初始化
IjkMediaPlayer.loadLibrariesOnce(null);
IjkMediaPlayer.native_profileBegin("libijkplayer.so");
//给视频设置控制器 我这个是写在Fragment中所以应用getActivity()
AndroidMediaController androidMediaController =new AndroidMediaController(getActivity(),false);
video.setMediaController(androidMediaController);
//将视频应用在空间上
String url="http://ips.ifeng.com/video19.ifeng.com/video09/2014/06/16/1989823-102-086-0009.mp4";
video.setVideoURI(Uri.parse(url));
video.start();
具体的代码也就是上边的一波操作,其实这个东西还是很简单的,希望大家能够共同进步。