android 基于ijkplayer项目进行的播放器

来源:互联网 发布:温度湿度计品牌 知乎 编辑:程序博客网 时间:2024/06/08 06:38

项目地址:ijkplayer导包源码下载https://github.com/lmx-fashion/IjikPlayer


ijkplayer是Bilibili基于ffmpeg开发并开源的轻量级视频播放器,支持播放本地网络视频,也支持流媒体播放。支持Android&iOS。


简介:基于 ijkplayer 简单的 UI 界面 当前项目是基于 ijkplayer 项目进行的播放器界面 UI 封装。 是一个适用于 Android 的 RTMP 直播推流 SDK,可高度定制化和二次开发。特色是同时支持 H.264 软编/硬编和 AAC 软编/硬编。主要是支持 RIMP、HLS、MP4、M4A 等视频格式的播放。

使用ijkplayer


我们需要的只有widget.medialibs (下载源码,里面可以直接使用)

然后进行配置就好了

修改APP下的build.gradle, 主要设置.so及.aar的位置:

apply plugin: 'com.android.application'android {    compileSdkVersion 24    buildToolsVersion "25.0.0"    defaultConfig {        applicationId "com.hx.ijkplayer_demo"        minSdkVersion 14        targetSdkVersion 24        versionCode 1        versionName "1.0"        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }    sourceSets {        main {            jniLibs.srcDirs = ['libs']  /**在libs文件夹下找so文件*/        }    }}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:24.2.1'    testCompile 'junit:junit:4.12'    compile(name: 'ijkplayer-java-release', ext: 'aar') /**编译ijkplayer-java-release.aar文件*/}

Manifest

...<activity android:name=".MainActivity"          android:screenOrientation="sensorLandscape"          android:configChanges="orientation|keyboardHidden">...</activity>...<uses-permission android:name="android.permission.INTERNET"/>

播放实现

Xml代码,其中的IjkVideoView的路径需要自己根据自己studio的提示配置,切记

<?xml version="1.0" encoding="utf-8"?><RelativeLayout    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">    <widget.media.IjkVideoView        android:id="@+id/video_view"        android:layout_width="match_parent"        android:layout_height="match_parent"/></RelativeLayout>

Java代码

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://mp4.vjshi.com/2013-05-28/2013052815051372.mp4"));        videoView.start();    }}



阅读全文
0 0
原创粉丝点击