ijkplayer:来自哔哩哔哩的开源播放器
下面就整理一下从下载,编译,到成功集成播放的过程
一、下载、编译
首先我们看看Github上的Readme
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios
cd ijkplayer-ios
git checkout -B latest k0.6.2
./init-ios.sh
cd ios
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
# Demo
# open ios/IJKMediaDemo/IJKMediaDemo.xcodeproj with Xcode
#
# Import into Your own Application
# Select your project in Xcode.
# File -> Add Files to ... -> Select ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj
# Select your Application's target.
# Build Phases -> Target Dependencies -> Select IJKMediaFramework
# Build Phases -> Link Binary with Libraries -> Add:
# IJKMediaFramework.framework
#
# AudioToolbox.framework
# AVFoundation.framework
# CoreGraphics.framework
# CoreMedia.framework
# CoreVideo.framework
# libbz2.tbd
# libz.tbd
# MediaPlayer.framework
# MobileCoreServices.framework
# OpenGLES.framework
# QuartzCore.framework
# UIKit.framework
# VideoToolbox.framework
#
# ... (Maybe something else, if you get any link error)
#
第一步、先将源码克隆到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios
第二步、然后进入项目文件夹,执行init-ios.sh,这一步是去下载ffmepg,可能会比较慢,耐心等待
cd ijkplayer-ios
./init-ios.sh
第三步、下载执行完成之后进入ios目录执行编译
cd ios
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
完成
二、项目集成
下载编译完成之后可以进入ios文件夹,找到IJKMediaDemo项目,直接测试,这是来自官方的Demo
ios/IJKMediaDemo/IJKMediaDemo.xcodeproj
接下来,我们就把编译好的IJKPlayer集成进我们的项目
第一步、新建或打开一个Xcode项目,如图
第二步、将编译好的IJKPlayer项目添加进你自己的项目
Xcode -> File -> Add Files to ...
选择编译好的ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj
第三步、选中项目,点击Build Phase,找到Target Dependencies,点击加号添加,选择IJKMediaFramwork
第四步、继续在Build Phase中选择Link Binary with Libraries,点击添加,把以下FramwWork都添加进去
# IJKMediaFramework.framework
#
# AudioToolbox.framework
# AVFoundation.framework
# CoreGraphics.framework
# CoreMedia.framework
# CoreVideo.framework
# libbz2.tbd
# libz.tbd
# MediaPlayer.framework
# MobileCoreServices.framework
# OpenGLES.framework
# QuartzCore.framework
# UIKit.framework
# VideoToolbox.framework
全部完成后如图:
这时候就成功的把IJKPlayer集成到项目中了,下面介绍一种方法,将编译好的IJKPlayer打包成FrameWork静态库,更加“便携”
完成
三、打包FrameWork
第一步、还是进入到ios目录,找到IJKMediaPlayer文件夹,这个就是编译好的IJKPlayer,打开IJKMediaPlayer.xcodeproj,点击Edit Scheme
选择Release
第二步、设置好 scheme 后, 分别选择真机和模拟器,然后分别Command + B进行编译,然后进入Finder找到打包好的IJKMediaFrameWork
上面的是真机版本的,下面的是模拟器版本的,然后要将他们合并
要合并的文件如下图
合并的命令为:lipo -create "真机版本IJKMediaFramework路径" "模拟器版本IJKMediaFramework路径" -output "目标文件路径/IJKMediaFramework"
合并完成后,用新生成的IJKMEdiaFramework,覆盖Release-iphoneos文件夹内,IJKMediaFramework.framework中的IJKMEdiaFramework,然后Release-iphoneos文件夹内的IJKMediaFramework.framework就是打包好的最终版本,可以直接作为静态库添加到项目中使用,过程可能有点复杂,有问题大家可以在留言中和我交流。