ijkplayer是Bilibili基于ffmpeg开发并开源的轻量级视频播放器,支持播放本地网络视频,也支持流媒体播放。支持Android&iOS。
ijkplayer的编译这里不多阐述,我也是直接获取别人编译完成的so库文件,直接使用的。如果你对ijkplayer的编译感兴趣,可以百度一下,有很多文章。
下面我们来直接介绍IjkPlayer的使用吧!
ijkplayer源码官方下载地址:https://github.com/Bilibili/ijkplayer
(1)把ijkplayer-armv7a/src/main/libs下的文件拷贝到新工程app目录的libs下。
(2)修改APP下的build.gradle, 主要设置.so及.aar的位置:
apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion "26.0.2" defaultConfig { applicationId "com.bwie.ijkplayer" minSdkVersion 15 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } //Ijkplayer sourceSets { main { jniLibs.srcDirs = ['libs'] /**在libs文件夹下找so文件*/ } } } //Ijkplayer repositories { mavenCentral() flatDir { dirs 'libs' /**在libs文件夹下找aar文件*/ } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:26.+' compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' //Ijkplayer compile(name: 'ijkplayer-java-release', ext: 'aar') /**编译ijkplayer-java-release.aar文件*/ }(4)复制ijkplayer-example下面的tv.danmaku.ijk.media.example.widget.media到新的工程,删掉一些不需要类。
(6)Manifest中添加权限
<uses-permission android:name="android.permission.INTERNET"/>布局:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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" tools:context="com.ijkplayer.MainActivity"> <com.bwie.ijkplayer.widget.media.IjkVideoView android:id="@+id/video_view" android:layout_width="match_parent" android:layout_height="match_parent"/> <TextView android:text="唐唐唐唐唐" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginLeft="24dp" android:layout_marginStart="24dp" android:id="@+id/textView" /> </RelativeLayout>代码:
public class MainActivity extends AppCompatActivity { private IjkVideoView videoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); videoView = (IjkVideoView) findViewById(R.id.video_view); videoView.setAspectRatio(IRenderView.AR_ASPECT_FIT_PARENT); videoView.setVideoURI(Uri.parse("http://mirror.aarnet.edu.au/pub/TED-talks/911Mothers_2010W-480p.mp4 ")); videoView.start(); } }
大家操作到这里就可以进行视屏播放了,好了,今天的分享就到这里。