之前 Ijkplayer 已经编译好 了,也运行了 ijkplayer-example 这个 demo,心里有个底了,大概知道 Ijkplayer 编译完成后各个模块都是干什么的了,那么接下来就该聊一聊它的基本使用了。
打开 Ijkplayer 的目录,能够看到有几个比较重要的文件夹,分别为:android、config、doc、extra、ijkmedia、ijkprof、ios、tools。下面先看看这些文件夹都是干什么用的,也好在需要的时候尽快找到需要的东西。
文件夹
概述
android
android 平台上的上层接口封装以及平台相关方法,里面有一个可以使用 Android Studio 编译运行的 demo
config
编译 ffmpeg 使用的配置文件
doc
一个文档
extra
存放编译 ijkplayer 所需的依赖源文件, 如 ffmpeg 等
ijkmedia
核心代码,ijkplayer 与播放器数据下载及解码相关 ,ijksdl 与音视频数据渲染相关
ijkprof
ndk相关的c层代码
ios
iOS平台上的上层接口封装以及平台相关方法
tools
初始化项目工程脚本
所以啊,应用层想要简单使用 Ijkplayer ,主要看 ijkplayer-android\android\ijkplayer 里的东西,这里是 Android 应用层相关的代码和接口。
那么问题来了,如果我现在要想将 ijkplayer 提供的接口应用到自己的项目中,应该怎么办呢?直接将 ijkplayer-java 中的代码拷贝到自己的项目中?我想大多数人不太想这么办吧,谁不想代码写的优雅、完成效率又高呢,反正我是懒得粘贴的。我是将这些作为 Library 来使用的。
下面记录一下将 ijkplayer-java 作为Library 使用的过程,省的以后忘了。
一 新建项目
打开 Android Studio,File -> New -> New Project... ->创建一个新的工程。
附上我的新工程的环境。
名称
版本
概述
Android Studio
3.2.1
Android Studio 的 Help->About 中显示的就是 Android Studio 的版本
Gradle plugin
3.2.1
位于项目根目录下的 build.gradle 文件中的 dependencies 节点下
Gradle wrapper
4.6
在 gradle-wrapper.properties 文件中
compileSdkVersion
28
位于主 Module 下的 build.gradle 文件中的 android 节点下
targetSdkVersion
28
位于主 Module 下的 build.gradle 文件中的 defaultConfig 节点下
二 拷贝文件
① 拷贝 tools文件夹
将 ijkplayer-android-build\ijkplayer-android\android\ijkplayer 目录下的 tools 文件夹拷贝到我们的 Project 的根目录下。
② 拷贝 ext
将 ijkplayer-android-build\ijkplayer-android\android\ijkplayer 目录下的 bulid.gradle 文件中的 ext 节点拷贝到我们的 Project 的根目录下的 bulid.gradle 文件中,并修改 compileSdkVersion、buildToolsVersion 和 targetSdkVersion与我们的 Project的主 Module 的保持一致。versionCode 和 versionName 都是从 ijkplayer 项目中拷贝过来的就不用改了。
拷贝后的样式如下图所示。