ijkplayer地址:https://github.com/bilibili/ijkplayer
一:Pods集成(方便快捷)
1.在Podfile文件中,输入pod 'ijkplayer', '~> 1.1.3',然后在终端,cd到该项目下,执行pod install 即可;
二:手动集成(可以修改源文件)
1.在桌面新建文件,使用终端cd到该文件下输入:git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios;
2.下载完成以后,在终端cd 到下载好的文件ijkplayer-ios目录下,然后再输入:git checkout -B latest k0.8.8,切换分支后,再输入:./init-ios.sh,(该步骤比较漫长,会经常报错,可多尝试几次);
3.下载完成以后,在终端cd 到下载好的文件ijkplayer-ios目录中的ios目录下,修改该目录下tools目录下的do-compile-ffmpeg文件中的 elif["$FF_ARCH"="armv7"];then 方法最后一行,替换为: FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $FFMPEG_CFG_FLAGS_ARM --enable-pic --disable-asm",主要解决arch armv7-a 报错问题;
4.然后在终端分别输入:./compile-ffmpeg.sh clean 和 ./compile-ffmpeg.sh all 命令,(该步骤同样比较漫长),完成后,打开IJKMediaPlayer目录下的IJKMediaPlayer.xcodeproj文件;
5.在 IJKMediaPlayer 项目中的Build Settings 中搜索 Excluded Architectures ,修改下面的 Release ,点击 + 新增,选择 Any SDK , 然后再点击右方,再点击 + 号,新增输入:arm64;
6.回到IJKMediaPlayer目录下的IJKMediaPlayer.xcodeproj,选中,然后选择显示包内容,打开 project.pbxproj ,搜索 productRefGroup ,然后将上方 mainGroup 的值 复制给 productRefGroup (虽然两者一样,主要是为了显示静态库运行后显示products文件目录);
7.打开 IJKMediaPlayer.xcodeproj,根据下图,选择IJKMediaFramework,然后点击 Edit Scheme...,修改 info 下面的Build Configuration 模式为 Release ,然后点击Close ,分别使用真机和模拟器运行下该项目;
8.选择项目文件目录最下方的Products 文件,然后选中IJKMediaFramework,点击Show in Finder ,双击文件最上方的目录,选择 Products(如下图),其中Release-iphoneos 为真机模式,Release-iphonesimulator为模拟器模式;
9.打开终端,输入lipo -create 然后将上方Release-iphoneos和Release-iphonesimulator目录下的IJKMediaFramework.framework中的IJKMediaFramework分别拖入到终端,再输入 -output ,然后按下空格键,输入你想生成的路径即可,比如/Users/xx/Desktop/IJKMediaFramework,最后将该文件分别替换到上方提到的Release-iphoneos或Release-iphonesimulator目录下的IJKMediaFramework.framework中的IJKMediaFramework。然后返回上一层,复制 IJKMediaFramework.framework 文件引用项目中即可;
10.集成ijkplayer所需编译系统库,在需要引入的项目中,Build Phases -> Link Binary with Libraries -> Add 下面所需系统库,然后在vc中#import<IJKMediaFramework/IJKMediaFramework.h>即可使用。
IJKMediaFramework.framework
AudioToolbox.framework
AVFoundation.framework
CoreGraphics.framework
CoreMedia.framework
CoreVideo.framework
libbz2.tbd
libz.tbd
libc++.tbd
MediaPlayer.framework
MobileCoreServices.framework
OpenGLES.framework
QuartzCore.framework
UIKit.framework
VideoToolbox.framework