IJKPLayer播放器
编译流程:
**Before Build
**# install homebrew, git, yasm
- **ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
- **brew install git
**brew install yasm
**# add these lines to your ~/.bash_profile or ~/.profile
- **# export ANDROID_SDK=
**# export ANDROID_NDK=
**# on Cygwin (unmaintained)
- **# install git, make, yasm
- **If you prefer more codec/format
- **cd config
- **rm module.sh
- **ln -s module-default.sh module.sh
- **cd android/contrib
- **# cd ios
- **sh compile-ffmpeg.sh clean
- **If you prefer less codec/format for smaller binary size (include hevc function)
- **cd config
- **rm module.sh
- **ln -s module-lite-hevc.sh module.sh
- **cd android/contrib
- **# cd ios
- **sh compile-ffmpeg.sh clean
- **If you prefer less codec/format for smaller binary size (by default)
- **cd config
- **rm module.sh
- **ln -s module-lite.sh module.sh
- **cd android/contrib
- **# cd ios
- **sh compile-ffmpeg.sh clean
- **For Ubuntu/Debian users.
- **# choose [No] to use bash
- **sudo dpkg-reconfigure dash
- **If you’d like to share your config, pull request is welcome.
**Build Android
**git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
- **cd ijkplayer-android
**git checkout -B latest k0.8.4
**./init-android.sh
**cd android/contrib
- **./compile-ffmpeg.sh clean
**./compile-ffmpeg.sh all
**cd ..
**./compile-ijk.sh all
**# Android Studio:
- **# Open an existing Android Studio project
**# Select android/ijkplayer/ and import
**# define ext block in your root build.gradle
- **# ext {
- **# compileSdkVersion = 23 // depending on your sdk version
- **# buildToolsVersion = “23.0.0” // depending on your build tools version
- **#
- **# targetSdkVersion = 23 // depending on your sdk version
- **# }
- **#
- # If you want to enable debugging ijkplayer(native modules) on Android Studio 2.2+: - (experimental)
- **# sh android/patch-debugging-with-lldb.sh armv7a
- **# Install Android Studio 2.2(+)
- **# Preference -> Android SDK -> SDK Tools
- **# Select (LLDB, NDK, Android SDK Build-tools,Cmake) and install
- **# Open an existing Android Studio project
- **# Select android/ijkplayer
- **# Sync Project with Gradle Files
- **# Run -> Edit Configurations -> Debugger -> Symbol Directories
- **# Add “ijkplayer-armv7a/.externalNativeBuild/ndkBuild/release/obj/local/armeabi-v7a” to - **Symbol Directories
- **# Run -> Debug ‘ijkplayer-example’
- **# if you want to reverse patches:
- **# sh patch-debugging-with-lldb.sh reverse armv7a
- **#
- **# Eclipse: (obselete)
- **# File -> New -> Project -> Android Project from Existing Code
- **# Select android/ and import all project
- **# Import appcompat-v7
- **# Import preference-v7
- **#
- **# Gradle
- **# cd ijkplayer
**# gradle
**Build iOS
**git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios
- **cd ijkplayer-ios
**git checkout -B latest k0.8.4
**./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)
**#
如果想要方便,直接下载播放器库,请看下一篇博客