Android IjkPlayer播放视屏

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中添加权限

扫描二维码关注公众号,回复: 2275533 查看本文章
<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();
    }
}

大家操作到这里就可以进行视屏播放了,好了,今天的分享就到这里。

猜你喜欢

转载自blog.csdn.net/taa1007/article/details/78554466