Coder Social home page Coder Social logo

zijkplayer's Introduction

ZIjkPlayer

基于IjkPlayer的视频播放库(IjkPlayer是bilibili的一个开源项目,基于ffmpeg开发,支持多种视频格式格式). 在SuperPlayer的基础上修改,修正了一些问题,增加了一些易用接口。支持点播、直播,全屏、列表播放。

Gradle

app的build.gradle中添加

dependencies {
    implementation "com.android.support:appcompat-v7:你的版本号"
    implementation "com.android.support:recyclerview-v7:你的版本号"
    implementation 'com.github.zcolin:ZIjkPlayer:latest.release'
}

工程的build.gradle中添加

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

Proguard

#ijkplayer
-keep class tv.danmaku.ijk.media.player.** {*; }
-keep class tv.danmaku.ijk.media.player.IjkMediaPlayer{
*;
}
-keep class tv.danmaku.ijk.media.player.ffmpeg.FFmpegApi{
*;
}

Usage

player.setLive(isLive)//设置该地址是直播的地址
	.setNetChangeListener(true)//设置监听手机网络的变化,这个参数是内部是否处理网络监听,和setOnNetChangeListener没有关系
	.setOnNetChangeListener(this)//实现网络变化的回调
	.setScaleType(SuperPlayer.SCALETYPE_FITXY)
	.setPlayerWH(0, player.getMeasuredHeight())//设置竖屏的时候屏幕的高度,如果不设置会切换后按照16:9的高度重置
	.setAlwaysShowControl()  //设置则一直显示
	.onPrepared(new SuperPlayer.OnPreparedListener() {
		@Override
		public void onPrepared() {
		//TODO 监听视频是否已经准备完成开始播放。(可以在这里处理视频封面的显示跟隐藏)
		}
	})
	.onComplete(new Runnable() {
		@Override
		public void run() {
		//TODO 监听视频是否已经播放完成了。(可以在这里处理视频播放完成进行的操作)
		}
	})
	.onInfo(new SuperPlayer.OnInfoListener() {
		@Override
		public void onInfo(int what, int extra) {
		//TODO 监听视频的相关信息。
		}
	})
	.onError(new SuperPlayer.OnErrorListener() {
		@Override
		public void onError(int what, int extra) {
		//TODO 监听视频播放失败的回调
		}
	});

zijkplayer's People

Contributors

zcolin avatar forevertyr avatar

Stargazers

 avatar Sakura avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar TYRAD avatar  avatar ZhilongLiu avatar  avatar 田埂↑の夢 avatar legency avatar  avatar  avatar Li Ning avatar  avatar 杜浩远 avatar dodo_lihao李灏 avatar  avatar Andy HU avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.