DataUtil API

<span style="font-size:24px;">public class DataUtil
作用:本类为数据(值)的操作定义了一些公共方法。定义公共静态方法以便数据的操作。
本类的属性:
private static final int HEXADECIMAL = 1; 表示数据采用的是16进制。
private static final int SCIENTIFIC = 2; 表示数据采用的是科学记数的形式。
private static final int DECIMAL = 3; 表示数据采用的是10进制。
private static final DecimalFormat format = new DecimalFormat();被所有方法使用的10进制数据的格式。
private static final int decimalIntegerDigits = 10;表示格式化的数字的整数部分最多可以有10位。
private static final int decimalFractionDigits = 5; 表示格式化的数字的小数部分最多可以有5位。
private static final int floatScientificFractionDigits = 8;采用科学记数法表示的浮点(float)数其小数部分最多可以有8位。
private static final int doubleScientificFractionDigits = 8; 采用科学记数法表示的double数其小数部分最多可以有8位。
  private static int dumpFormat = SCIENTIFIC;被ArrayToString()方法使用的数字的格式,其默认为科学记数法的格式。
静态初始块;用于初始化dumpFormat,通过:System.getProperty("frontend.util.dumpformat","SCIENTIFIC");来获得系统的frontend.util.dumpformat属性,如果系统没有此属性,就会返回一个默认的设置即SCIENTIFIC。通过此返回值来设置dumpFormat。
本类的构造方法:
private DataUtil();私有的空的构造方法,不能通过构造方法对象化。
本类的方法:
public static short[] byteToShortArray (byte[] byteArray, int offset, int length);把两个字节组合起来成为一个short。把一个字节数组转换成一个短整型数组,因为一个字节是8位的,一个短整型是16位,因此返回的短整型的数组在长度上是字节数组的长度的一半。如果字节数组的长度是奇数,则短整型数组的长度为字节数组长度减去1后再除2所得到的值,而字节数组的最后一个字节被丢弃。Offset为从哪个字节开始,length多少个字节被转换。本方法把在字节型数组的两个数变成一个short(短整型)数。在进行左移时,低于int的数会被转换成int数后在移动。
public static double[] bytesToValues(byte[] byteArray,int offset,int length,int bytesPerValue,boolean signedData);将一个大端型(高位)字节顺序的字节数组转换成double的数组。在字节数组中的每个连续字节被转换成一个double。成为了double型数组的下一个元素。返回的数组的长度为(length/bytesPerValue),目前,仅支持1字节(8-位)或2字节(16-位)的采样。Offset为从哪个字节开始,length为多少个字节要转换。bytesPerValue每个值的字节数即多少个字节转换成一个double。signedData数据是否为有符号数。返回的为double数组。如果字节为有符号数,会去掉符号位。即几个字节组成起来当做一个double。
public static double[] littleEndianBytesToValues(byte[] data,int offset,int length,int bytesPerValue,boolean signedData);与上一方法相同只是此字节数组为低端(低位)(即低位高字节)字节顺序。需对存储顺序(把低位字节转换成高位)进行处理。其余的是相同的。
public static short bytesToShort(byte[] byteArray, int offset);把字节数组的指定位置offset和其后的那个字节变成一个short,其余的不变,并返回那个short。
public static String shortArrayToString(short[] data);把短整型的数组转换成字符串输出形式为data.length data[0] data[1] ... data[data.length-1]
private static String doubleArrayToString(double[] data, int format) ;根据给定的double数组返回一个字符串。字符串的形式为data.length data[0] data[1] ... data[data.length-1]。在data[i]处,double数据能够被写为十进制或16进制或科学记数的形式,在十进制记号法中,它被方法Util.formatDouble(data[i], 10, 5)所格式化,使用了 "frontend.util.dumpformat"属性来控制输出的格式。
public static String formatDouble(double number, int integerDigits,int fractionDigits);把double数据格式成想要的形式。返回的是给定数字的字符串,为数字的整数部分和小数部分给定位空间。如果整数部分位数小于integerDigits的值,则空格将会代替它,如果小数部分位数小于fractionDigits的值,则空格会代替它。Number为将要格式化得数,integerDigits为整数部分位数,fractionDigits为小数部分位数。因此formatDouble(12345.6789, 6, 6)会返回字符串为" 12345.6789  "在1之前有1空格,在9后有2空格。
public static int getSamplesPerWindow(int sampleRate,float windowSizeInMs);返回每个窗口的采样数,在给定采样率,窗口长度(以毫秒为单位)的情况下的,
public static int getSamplesPerShift(int sampleRate,float windowShiftInMs);返回在一个窗口移动(窗移)中的采样数,在给定采样率和窗移(以毫秒为单位)。
public static void bytesToFile(byte[] data, String filename);把给定的字节存储到给定的二进制文件中。Data所需存储的字节,filename二进制文件名。
public static AudioFormat getNativeAudioFormat(AudioFormat format);返回和输入的音频格式有着相同的编码,字节顺序,采样大小(容量)并且采样率高于给定输入音频的采样率的本地音频格式。AudioFormat。
public static AudioFormat getNativeAudioFormat(AudioFormat format,Mixer mixer);返回和输入的音频格式有着相同的编码,字节顺序,采样大小(容量)并且采样率高于给定输入音频的采样率的本地音频格式。如果mixer为null,则使用AudioSystem,否则使用这个mixer。
public static DoubleData FloatData2DoubleData(FloatData data);把floatdata转换成DoubleData。有着相同的采样率,时间,第一采样点的位置。
public static FloatData DoubleData2FloatData(DoubleData data);把一个
DoubleData数据转换成FloatData数据。
public static String floatArrayToString(float[] data);把一个给定的浮点数数组当做一个字符串输出,字符串的格式为data.length data[0] data[1] ... data[data.length-1]。
private static String floatArrayToString(float[] data, int format);把一个给定的浮点数数组按指定的格式转换成字符串输出。</span>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值