开发者社区> 黑夜路口> 正文

07.Android Studio下Ndk开发(使用fmod播放声音)

简介: (创建于2017/12/28) 已实现 注意几点: 1.main下cpp文件夹放置c文件和相关头文件 2.main下JniLibs文件夹放置第三方so文件 3.
+关注继续查看

(创建于2017/12/28)

已实现

注意几点:
1.main下cpp文件夹放置c文件和相关头文件
2.main下JniLibs文件夹放置第三方so文件
3.app下libs文件夹放置jar包
4.CMakeLists配置文件:

cmake_minimum_required(VERSION 3.4.1)

add_library(
            //打包多个cpp文件为同一个so文件qq_voice
             qq_voice
             SHARED
             src/main/cpp/common.cpp
             src/main/cpp/play_sound.cpp
             src/main/cpp/common_platform.cpp
)

//引入第三方
add_library( libfmod
             SHARED
             IMPORTED )
//配置第三方路径
set_target_properties( libfmod
                       PROPERTIES IMPORTED_LOCATION
                       ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libfmod.so )
//引入第三方
add_library( libfmodL
             SHARED
             IMPORTED )
//配置第三方路径
set_target_properties( libfmodL
                       PROPERTIES IMPORTED_LOCATION
                       ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libfmodL.so )

find_library(
              log-lib
              log )


target_link_libraries(
                       qq_voice
                       libfmod
                       libfmodL
                       ${log-lib} )

5.build.gradle文件配置

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.0"
    defaultConfig {
        ...
        externalNativeBuild {
            cmake {
                cppFlags ""
            }
        }

        ndk {
            //和JniLibs下的api相对应,不然会报错
            abiFilters 'armeabi', 'armeabi-v7a','arm64-v8a','x86'
        }
    }
    ...
    externalNativeBuild {
        cmake {
            //配置CMakeLists文件路径
            path 'CMakeLists.txt'
        }
    }
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用Android Studio搭建开发环境
2013年Google I/O 大会首次发布了Android Studio IDE(Android平台集成开发环境)。它基于Intellij IDEA 开发环境,旨在取代Eclipse和ADT(Android开发者工具)为开发者提供更好的开发工具。既然Google一直在努力推广,相信不久以后就有望赶上Eclipse。
85 0
【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )(一)
【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )(一)
40 0
08.Eclipse下Ndk开发(使用fmod实现QQ变声功能)
(创建于2017/12/30) 1.编写native package org.fmod.example; public class EffectUtils { //音效的类型 public static final int ...
949 0
【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )(二)
【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )(二)
20 0
10.Eclipse下Ndk开发(ffmpeg native 方式播放视频,万能解码(SurfaceView, 播放音频,)
(创建于2018/1/26) 遇到的问题 遇到一个很棘手的问题,在Eclipse上引入两个头文件报错 #include #include 右键->Porperties->C/C++General->Paths and Symbols中可以看到 987671.
1204 0
使用Verilog实现FPGA偶数/奇数分频电路设计并使用modelsim仿真
本人地大14级师兄,如果有学弟学妹搜到这个评论一个呗! 一、设计要求 编写VerilogHDL程序,实现如下功能: 输入时钟信号和复位/信号,实现4分频/5分频,占空比为1:1.   二、设计思路 1.偶数分频 假设为N分频,计数到N/2-1时,时钟翻转、计数清零,如此循环就可以得到N(偶)分频   2.奇数分频(占空比为50%) (1)假设为N分频,取一个进行上升沿触发的模N计数,触发时钟翻转后,经过(N-1)/2再次进行翻转,得到一个占空比非50%奇数N频时钟。
1898 0
10.Eclipse下Ndk开发(ffmpeg解码)
(创建于2018/1/7) ffmpeg库简介: 4113515.png 解码流程图: 4062671.png 解码过程涉及到的函数 4191421.
936 0
5分钟使用Moodle搭建在线学习管理
Moodle 是以课程为中心的组织模式,围绕课程的创建、关联老师和学生,开展教学和学习活动,来构建强大的在线学习管理平台。Moodle 通过对课程关联资源和活动,来设置课程的PPT、视频等教学资源和作业、考试、反馈等教学活动。Moodle 还有提供很多实用的功能,如更多的系统选项、课程能力模型、成绩报告及更多的课程活动等。
257 0
Node.js使用mongodb操作MongoDB数据库
Node.js使用mongodb操作MongoDB数据库
55 0
+关注
黑夜路口
安卓高级工程师,目前任职于Wifi万能钥匙
152
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载