关于音频PCM数据2字节(16位)byte与64位double之间的转换
1 致谢
感谢kimmking网友提供的资料
原文链接如下:http://blog.csdn.net/kimmking/article/details/8752737
2 问题描述
3 算法设计
byte bl = byteArray[2 * i];
byte bh = byteArray[2 * i + 1];
可以看到 这里用的是“小端模式”
4 代码实现
static private void ByteArray2DoubleArray(double[] doubleArray, byte[] byteArray) {// TODO Auto-generated method stubfor (int i = 0; i < doubleArray.length; i++) {byte bl = byteArray[2 * i];byte bh = byteArray[2 * i + 1];short s = (short) ((bh & 0x00FF) << 8 | bl & 0x00FF);/*** Java中short是2字节 1字节是8bit 这里为什么要加上“& 0x00FF”呢? 这是为了把复数前面的“很多个F”去掉* 只取后8位的数据 防止相互影响*/System.out.println("s_" + s);doubleArray[i] = s / 32768f; // 32768 = 2^15}}
关于音频PCM数据2字节(16位)byte与64位double之间的转换相关推荐
- ffmpeg进行混音,将两路音频pcm数据合成一路输出
ffmpeg进行混音,将两路音频pcm数据合成一路输出 audiomixer.h #ifndef AUDIOMIXER_H #define AUDIOMIXER_H#include <map&g ...
- js实现音频PCM数据合并、拼接、裁剪、调节音量等功能
关于音频的内容,我边学习,边实践也总结了一些,从最开始实现一个简单的web音乐播放器的自定义工具栏,到后来的实现简单的音频频谱图.直到今天的对音频数据进行的进一步操作,我也是一点点的在进步.虽然很多地 ...
- 从16位到32位再到64位,为何16年过去,依然没有128位系统出现?
绝大部分人都没有意识到128位的处理器早已经存在了,并且已经存在了几十年.这么多年过去了,不光是128位的处理器出现了,256位.512位的处理器也同样出现了,比如Nvidia GTX 280这样的显 ...
- 32位系统和64位系统各种数据类型占用的空间(字节数)
不同的平台上对不同的数据类型分配的字节数是不同的,一般的,数据类型的字节数是由编辑器决定的(编译期间决定数据类型长度). 简单来说,平台就是CPU+OS+Compiler,cpu的位是指一次性可处理的 ...
- (阿里/百度/腾讯)云服务器建站全过程(Ubuntu Server 16.04.1 LTS 64位)
(阿里/百度/腾讯)云服务器建站全过程(Ubuntu Server 16.04.1 LTS 64位) 注:这是作者利用周末时间,研究了一下云服务器的建站过程,以下是整理出来的学习笔记,仅供参考,如果有 ...
- 32位计算机处理64位数据,win764位和32位区别
众所周知,Windows 7有32位系统和64位系统,但是针对win764位与32位区别之间的差别相信很多用户都感到困惑,最近就有用户问小编关于win764位和32位区别,那win764位和32位区别 ...
- 32位机器和64位机器中int、char等数据类型所占字节长度对比
在32位机器和64机器中int类型都占用4个字节.编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int ...
- 32位系统处理64位数据
64位返回值 x86平台 ARM平台 参数传递及加减运算 x86平台 ARM平台 右移 x86平台 ARM平台 32位数据转换为64位数据 x86平台 ARM平台 32位系统的通用寄存器GPR只能容纳 ...
- 转载】将32位代码向64位平台移植的注意事项
转载]将32位代码向64位平台移植的注意事项 新近的64位平台在二进制上与32位应用程序兼容,这意味着可以非常简单地移植现有的程序.许多目前在32位平台上运行良好的程序也许不必移植,除非程序有以下要求 ...
最新文章
- HNCU1101:马的移动---BFS
- TCP/IP学习——利用主机IP与子网掩码计算网络号
- linux | 网卡驱动
- 《计算机网络》实验报告——常用网络命令
- 一道小时候经常玩的数字游戏
- LeetCode 837. 新21点(动态规划)
- Redis之Redis内存模型
- 一文读懂人工智能的前世今生(建议收藏)
- 随办——真正懂企业痛点的移动协作软件
- hdu-5493 Queue(二分+树状数组)
- as3.0横向渐变发光字
- 前端开发中如何将文件夹中的图片变为背景图_如何用Elementor设计banner
- 云计算分布式计算机硬件在哪,初学者: 云计算和分布式计算的概念
- 文件系统的设计与实现(操作系统课程设计)
- 【面试】造价工程师面试试题汇总
- 万特电能表接线仿真系统 软件_电工技能——分享一款超实用的电工仿真教学接线Flash动画软件...
- 打印出从1到1000的罗马数字
- 人工智能(AI)真的会带来大规模失业吗?
- linux安装/迁移confluence
- MySQL Server 安装和卸载
热门文章
- 【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计
- C#反射机制详解(转)
- mngoDB 常用语法
- free store VS heap(自由存储区VS堆)
- 简明Linux命令行笔记:tee
- 【PyQt5】连接 mysql 查询数据 并显示在 tableWidget 表格
- 【Java 进阶】匿名类(代码传递、回调、过滤器)、Lambda表达式(方法引用)、函数式接口(Supplier、Consumer、Predicate、Function)
- 通向财务自由之路09_知道何时收手:如何保护你的资本
- 海龟交易法则06_掌握优势
- java smtp收信_求一个简单java编写的邮件收发程序,邮件发送程序为smtpsend,邮件接收程序为popreceive。急需,感谢。...