java pcm转adpcm_android adpcm,pcm转换封装
在开发过程中,在java层将pcm转换为adpcm以及将adpcm转换为pcm,其中算法里面有位移动相对于在c层来说需要大量的时间,所以就将java层的算法移植到c层,使用NDK进行封装成库使用。
Adpcm2PcmInterface.java
package com.adpcm2pcm;
public class Adpcm2PcmInterface {
public static native void Adpcm2Pcm(byte[] data, int size, int sample, int index, byte[] output);
public static native void Pcm2Adpcm(byte[] data, int size, int sample, int index, byte[] output);
static {
try {
System.loadLibrary("adpcm2pcm");
} catch (Exception e) {
e.printStackTrace();
}
}
}
生成的库文件:
libadpcm2pcm.rar(5.63 KB)
我只测试过Adpcm2Pcm这个接口,从远程获取的adpcm数据然后转换为pcm数据播放声音正常的。
NDK基础知识:
javah -classpath classes -d ../jni -jni com.myproject.MyActivity
root@ubuntu:/home/administrator/workspace/OpenGLJni/src# javah -classpath /home/administrator/workspace/OpenGLJni/src -d ../jni/ -jni com.jayce.eopengljni.OpenGLJniLib
参数介绍:
-classpath 指定需要生成.h文件的class文件路径所在,多个路径可用“:”隔开,有时提示Activity没有找到
-d 指定生成的头文件存放目录,这里指定的是项目根目录中的jni目录
-jni 这个选项是可选项,具体可查看man javah
最后一项就是class文件的全称(包名+类名)
java pcm转adpcm_android adpcm,pcm转换封装相关推荐
- android中调用fft函数,J使用PCM数据在Android中转换FFT(JTransforms FFT in Android from PCM data)...
J使用PCM数据在Android中转换FFT(JTransforms FFT in Android from PCM data) 我一直在玩这个游戏已经有一段时间了,我无法弄清楚我在这里要做的事情. ...
- PCM音频单声道立体声转换C代码实现
目录 一.PCM介绍 二.PCM参数 三.单声道.立体声转换 一.PCM介绍 PCM(Pulse Code Modulation),脉冲编码调制.人耳听到的是模拟信号,PCM是把声音从模拟信号转化为数 ...
- fwPlayer 支持最新浏览器在线播放adpcm pcm 编码的wav
fwPlayer 支持最新浏览器在线播放adpcm pcm 编码的wav 可以使用 fwPlayer 使用webassembly技术,在线转码avi flv为mp4 或者ogg等来播放 fwPla ...
- pcm 32bit float 双声道转换16bit单声道
pcm 32bit float 双声道转换16bit单声道 多通道音频转单通道 音频多通道是按照采样点进行交叉排列,比如双声道的16bit音频,16bit为一个采样点,那就是按照 通道1(16bit) ...
- java 中文域名转码_转换java方法
java date String 类型相互转换 这种转换要用到java.text.SimpleDateFormat类 字符串转换成日期类型: 方法1: 也是最简单的方法 Date date=new D ...
- Android音视频开发,详说PCM音频重采样、PCM编码
直播伴音,两种数据能否合在一起?不能叠加在一起 会有噪音 合并以后 再去编码推流 直播的例子 客户端播放器,可以开启多个播放器 对于我们重采样 很多时候就是为了统一格式,就是为了要合并这个流,去推送, ...
- 【音视频数据数据处理 10】【PCM篇】将PCM转为WAV格式音频
[音视频数据数据处理 10][PCM篇]将PCM转为WAV格式音频 一.WAV头信息 1.1 RIFF区块 1.2 FORMAT区块 1.3 DATA区块 二.PCM 转 WAV 代码实现 PCM转为 ...
- Java中long和int互相转换,不改变原有数据
Java中long和int互相转换,不改变原有数据 文章目录 Java中long和int互相转换,不改变原有数据 测试方法,及封装好的方法 封装好之后的方法 测试方法,及封装好的方法 @Test pu ...
- Java中的原始类型与原始封装类型
在写Java代码的过程中,一直对Java提供的一些类参数又疑问,今天查了一下,进行了解学习. type argument cannot be of primitive type 问题: Java中什么 ...
最新文章
- 趣解面试高频算法难题:数组中的第K个最大元素
- centos vscode安装到指定目录_win10 WSL构建vscode+centos开发环境
- springboot 前缀_SpringBoot配置文件的注入
- python中import问题
- 大数据之-Hadoop之HDFS的API操作_文件IO流_上传_案例---大数据之hadoop工作笔记0063
- java.util.concurrent包(6)——CyclicBarrier使用
- java第七章第九题_Java2程序设计基础第七章课后习题
- mysql配置和管理(转载)
- SpringMVC学习(三)RestFul风格
- java分布式日志组件
- 解决仙剑奇侠传“应用程序无法正常启动(0xc000000d)”的问题【转载】
- C语言算法训练学做菜,Java实现 蓝桥杯VIP 算法训练 学做菜
- java代码实现kafka消费端consumer的from-beginning功能
- python方括号和圆括号_python方括号和圆括号
- 【教程】怎样在PC查看动漫之家(DMZJ)不能观看漫画
- 编译安装Gearman
- ImageColorizer:在线黑白照片免费上色
- puzzle(0914)方块识途、拾穗方块
- Python爬虫实战(四) :下载煎蛋网所有妹子照片
- android 截屏函数_android截屏功能实现代码
热门文章
- apache poi斜边框线_Apache POI Word - 边框
- 计算机应用专业买笔记本还是平板,选择笔记本还是平板?二合一电脑给你更自由轻便使用状态...
- 沐风晓月个人博客折腾记: 从零开始加上漂亮的前端模板,轻松提升博客品味
- 【007】 二分查找算法(Binary Search)
- 华为Mate20RS HL2LAYAM原理图纸
- 8.14 Python Web前端 Css学习2
- 【算法基础15】如何求约数?约数个数?约数之和?最大公约数?
- iMovie画面定格教程
- [转]电磁兼容之辐射发射测试与整改攻略
- 系统设计与分析作业5