Android NDK(二)最最简单的方法利用NDK实现MP3录音
首先了解到调用android原生的录音无法生成MP3格式,其次java无法实现对文件的转码(个人见解),所以采用libmp3lame把AudioRecord音频流直接转换成MP3格式。这里采用的是最新的lame-3.99.5.tar。
可以去Lame官网下载,博文最后也有CSDN下载地址。官网地址:http://lame.sourceforge.net/如果要自己一步一步实现,对于不熟悉jni开发的同学特别麻烦,而且容易出错。首先要下载lame-3.99.5.tar。 解压,把子文件夹libmp3lame中的非.h和.c格式的文件删除后的剩余的所有文件和include下的lame.h放进一个新建的lame-3.99.5_libmp3lame文件夹中,最后把整个lame-3.99.5_libmp3lame文件夹拷贝到JNI目录下。然后要自己写好接口,写好android.m文件,最后编译的时候还会报错,还的去修改导入的文件。感觉坑特别多!所以把我自己写的上传上来,让大家少走弯路。
- -配置好NDK开发的环境,可参照上一篇文章。
- 把jni文件夹复制到工程中。如图1
- 把如下包com.buihha.audiorecorder复制到你的工程中。如图2
- 开始录音 recorder.startRecording(); 结束录音recorder.stopRecording();
资源已经上传,http://download.csdn.net/detail/qq_32687703/9574195
完毕!是不是很简单。。
Android NDK(二)最最简单的方法利用NDK实现MP3录音相关推荐
- 【Android】41.最简单的方法设置沉浸状态栏
41.最简单的方法设置沉浸状态栏 1.下载素材. 本节没有素材,如有素材,请公众号内获取. 2.导入依赖. // 基础依赖包,必须要依赖 implementation 'com.gyf.immersi ...
- android.net.wifi的简单使用方法
获取Wifi的控制类WifiManager. WifiManager wm=(WifiManager)getSystemService(Context.WIFI_SERVICE); 接下来可以对w ...
- Android 一键退出程序最简单的方法 finishAffinity()
我们不生产代码,我们知识代码的搬运工,如有侵权,本人将第一时间删除 邮箱:zhf6751134@163.com QQ交流群:336237986 在浏览google API Demo 时,发现一个很实用 ...
- android剪切板权限,android剪切板一些简单实用方法
1.ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE) ...
- C语言试题二十之利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。
1. 题目 编写函数function,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根. 迭代步骤如下: (1)取x1初值为0.0: (2)x0=x1,把x1的值赋各x0; (3 ...
- android NDK 二、编译方法
1.NDK 一中已经提到,使用eclipse中的配置 ,自动编译 2.手动编译(推荐) 打开bash.exe(即启动cygwin) 使用cd $NDK 进入/cygdrive/e/android-nd ...
- 【Android】Eclipse自动编译NDK/JNI的三种方法
[Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th 2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...
- Android客户端连接服务器- OKHttp的简单实用方法
文章目录 一 .OKHttp简介 二. OkHttp3使用 1.创建HTTPClient实例 2.Get请求 3.POST请求 三.Timeouts(超时) **写在前面:本文只是对OKHttp3的简 ...
- android 如何加固,Android应用加固的简单实现方案(二)
Android应用加固的简单实现方案(二) 前言 上一篇文章介绍了基于dex加固方案的两种具体实现.相对于手动加固,基于gradle实现的加固方案效率有了进一步提升.但是,还是需要在壳Module中增 ...
最新文章
- Phpcms V9手机门户设置教程:怎么用PC V9做手机网站
- 【python学习】模块random
- c++实现时间轴,时间管理器
- 前端学习(3181):ant-design的button介绍
- 数据库系统实训——实验六——游标
- android 回车键事件编程
- TeleportPoint可瞬移的目标位置
- .bat以管理员身份运行
- 9.深入浅出:集成运放内部电路分析——参考《模拟电子技术基础》清华大学华成英主讲
- Spring Boot pom文件详解
- CAD如何求曲线的交点?
- 入职阿里两年的工作总结
- 【论文阅读】A Survey on Contrastive Self-supervised Learning
- 计算机 蓝牙鼠标卡顿,无线蓝牙鼠标为什么有时会卡顿发飘,不稳定?
- 编辑视频贴纸软件_3招教你搞定怎么在视频上加贴纸,剪片必备的手机App!
- Unity3D 获取资源运行时内存和硬盘大小
- HTTP状态码的含义
- 计算机架构总结笔记(1)
- 【100%通过率】华为OD机试真题 C++ 实现【猜字谜】【2022.11 Q4 新题】
- 数字媒体是以计算机和网络为基础,03-17 数字媒体艺术概论第一章