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)
  • **#

    如果想要方便,直接下载播放器库,请看下一篇博客

android 万能播放器相关推荐

  1. 使用Vitamio打造自己的Android万能播放器(2)—— 手势控制亮度、音量、缩放

    前言 本章继续完善播放相关播放器的核心功能,为后续扩展打好基础. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over1 ...

  2. Vitamio打造自己的Android万能播放器

    前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...

  3. 使用Vitamio打造自己的Android万能播放器(1)——准备

    前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...

  4. 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)

    前言 本章将实现非常实用的功能--下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术 ...

  5. [转载]使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)...

    前言 本章将实现非常实用的功能--下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术 ...

  6. 使用Vitamio打造自己的Android万能播放器(6)——在线播放(播放列表)

    前言 新版本的VPlayer由设计转入开发阶段,预计开发周期为一个月,这也意味着新版本的Vitamio将随之发布,开发者们可以和本系列文章一样,先开发其他功能.本章内容为"在线视频播放列表& ...

  7. 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)

    前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http ...

  8. 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)...

    前言 关键字:Vitamio.VPlayer.Android播放器.Android影音.Android开源播放器 本章节把Android万能播放器本地播放的主要功能(缓存播放列表和A-Z快速查询功能) ...

  9. android vitamio 实现快速播放,使用Vitamio打造自己的Android万能播放器(5)

    前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http ...

  10. 使用Vitamio打造自己的Android万能播放器

    前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...

最新文章

  1. POJ1276Cash Machine
  2. 浙江大学 | 深度域自适应和小目标检测挑战、技术和数据集:调研
  3. python画函数曲线-python画蝴蝶曲线图的实例
  4. Linux的chkconfig:对系统服务进行增删改查
  5. word中中文保持正体,英文用斜体的方法.
  6. android 键盘 能复制,android – 从EditText中禁用软键盘,但仍允许复制/粘贴?
  7. C++ 作用域与生命周期
  8. Matlab程序接口应用总结
  9. 软件测试中什么是正交分析法,软件测试用例设计方法之正交分析法
  10. 浅谈《分布式光伏发电系统电气安全技术规范》
  11. 计算机辅助设计技术水平证书,计算机程序设计工程师技术水平(java)证书就是计算机技术与软件专业技术资格考试的程序员证书么?...
  12. 5M1270ZT144A5N CPLD 980MC 6.2NS 144TQFP /5M1270ZT144C5N
  13. minecraft有自带服务器吗,Minecraft服务器优化教程 —— 让多带50%的玩家不再是梦...
  14. 速写初习(二)---线条2
  15. java向飞秋发文件_飞秋如何发文件夹
  16. 红米3s运行linux,红米3S3X|RROS-V7.0|安卓9.0|最强大的自定_最新最全的红米3S/3XROM刷机包下载、刷机教...
  17. Python引用pymssql模块打包报错的解决方法
  18. 京东面试官总结2020京东Java面试题,让你轻松拿下offer!
  19. Notion的安装与使用
  20. 关于java实例方法可以访问类变量的一种解释

热门文章

  1. fortran95数组输出练习感悟
  2. 《云计算核心技术剖析》学习笔记
  3. 电工模拟接线软件 app_电气接线方法以及线号管正确方向
  4. 关于移动硬盘的$recycle.bin病毒的处理方法
  5. Win7 IE8首页强制成http://www.2345.com/?uuc
  6. vs2015无法编辑html,连发Lianfa娱乐app -连发Lianfa娱乐appV6.2.84
  7. 浅谈5000万:外挂,代理与卡盟的故事。
  8. docker-compose文件详解
  9. 12.10上海交大PMP试题每日一题
  10. 数据库系统概论第五版(笔记+习题答案)(全)