电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android Studio引入FFmpeg的方法

瀏覽:107日期:2022-09-25 17:05:41

新建C++工程

新建

兩個externalNativeBuild

一個sourceSets(指定so路徑)

android { compileSdkVersion 29 buildToolsVersion '29.0.3' defaultConfig { ... externalNativeBuild { cmake { cppFlags '-std=c++11 -frtti -fexceptions' abiFilters ’armeabi-v7a’ } } sourceSets { main { jniLibs.srcDirs = [’src/main/jniLibs’] } } } ... externalNativeBuild { cmake { path 'src/main/cpp/CMakeLists.txt' version '3.10.2' } }}

復制so和include文件

Android Studio引入FFmpeg的方法

編寫CMakeLists.txt

以下是默認值

cmake_minimum_required(VERSION 3.4.1)add_library(native-lib SHARED native-lib.cpp #nativ-lib2.cpp 如果有其他cpp文件可以一并打包到native-lib中)#查找系統的log庫,并賦值給變量log-libfind_library( log-lib log)#將上面log-lib變量里的庫連接到native-lib中target_link_libraries( native-lib ${log-lib})

CMakeLists中添加FFmpeg頭文件路徑

#設置FFmpeg頭文件的路徑include_directories( include#因為和CMakeLists.txt在同一級,所以直接寫include)

CMakeLists中添加libavcodec.so

#定義一個變量avcodecadd_library( avcodec SHARED IMPORTED)#給avcodec這個變量賦值set_target_properties(avcodec PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../main/jniLibs/${ANDROID_ABI}/libavcodec.so)#將avcodec混合編譯到native-lib中target_link_libraries( native-lib ${log-lib} avcodec)

CMakeLists中添加全部的so

cmake_minimum_required(VERSION 3.4.1)#設置FFmpeg頭文件的路徑include_directories( include#因為和CMakeLists.txt在同一級,所以直接寫include)add_library(native-lib SHARED native-lib.cpp)find_library( log-lib log)#1.定義一個變量avcodecadd_library( avcodec SHARED IMPORTED)#給avcodec這個變量賦值set_target_properties(avcodec PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../main/jniLibs/${ANDROID_ABI}/libavcodec-57.so)#2.add_library( avdevice SHARED IMPORTED)set_target_properties(avdevice PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../main/jniLibs/${ANDROID_ABI}/libavdevice-57.so)#3.add_library( avfilter SHARED IMPORTED)set_target_properties(avfilter PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../main/jniLibs/${ANDROID_ABI}/libavfilter-6.so)#4.add_library( avformat SHARED IMPORTED)set_target_properties(avformat PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../main/jniLibs/${ANDROID_ABI}/libavformat-57.so)#5.add_library( avutil SHARED IMPORTED)set_target_properties(avutil PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../main/jniLibs/${ANDROID_ABI}/libavutil-55.so)#6.add_library( postproc SHARED IMPORTED)set_target_properties(postproc PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../main/jniLibs/${ANDROID_ABI}/libpostproc-54.so)#7.add_library( swresample SHARED IMPORTED)set_target_properties(swresample PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../main/jniLibs/${ANDROID_ABI}/libswresample-2.so)#8.add_library( swscale SHARED IMPORTED)set_target_properties(swscale PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../../main/jniLibs/${ANDROID_ABI}/libswscale-4.so)#將avcodec混合編譯到native-lib中target_link_libraries( native-lib ${log-lib} avcodec#1 avdevice#2 avfilter#3 avformat#4 avutil#5 postproc#6 swresample#7 swscale#8)

編寫測試函數

#include <jni.h>#include <string>extern 'C' {#include 'libavcodec/avcodec.h'}extern 'C' JNIEXPORT jstring JNICALLJava_com_example_myffmpegcmd_MainActivity_stringFromJNI( JNIEnv *env, jobject /* this */) { std::string hello = 'Hello from C++'; return env->NewStringUTF(avcodec_configuration());}

Android Studio引入FFmpeg的方法

總結

到此這篇關于Android Studio引入FFmpeg的文章就介紹到這了,更多相關Android Studio引入FFmpeg內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂 | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 大型低温冷却液循环泵-低温水槽冷阱「厂家品牌」京华仪器_京华仪器 | 螺纹三通快插接头-弯通快插接头-宁波舜驰气动科技有限公司 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 烽火安全网_加密软件、神盾软件官网 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | 红外光谱仪维修_二手红外光谱仪_红外压片机_红外附件-天津博精仪器 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 深圳市简易检测技术有限公司| 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 济南办公室装修-厂房装修-商铺装修-工装公司-山东鲁工装饰设计 | 变压器配件,变压器吸湿器,武强县吉口变压器配件有限公司 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | CPSE安博会 | 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 贴片电容-贴片电阻-二三极管-国巨|三星|风华贴片电容代理商-深圳伟哲电子 | 免费网站网址收录网_海企优网站推荐平台 | 礼堂椅厂家|佛山市艺典家具有限公司 | WTB5光栅尺-JIE WILL磁栅尺-B60数显表-常州中崴机电科技有限公司 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 刺绳_刀片刺网_刺丝滚笼_不锈钢刺绳生产厂家_安平县浩荣金属丝网制品有限公司-安平县浩荣金属丝网制品有限公司 | 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 |