DataBlocker API
来源:互联网 发布:人脸识别用什么算法 编辑:程序博客网 时间:2024/06/03 19:49
<span style="font-size:24px;">public class DataBlocker extends BaseDataProcessor作用:由于microphone得到的数据存于doubledata之中,但是在一个doubledata中的数据的大小是有可能不相同的,可以为一帧的长度也可能也能被一帧的长度整除的长度,所以需要DataBlocker,对输入的DoubleData数据,进行打包,以分成大小相同的块。块的长度可以自己定义。也可是默认值。在系统中的作用是为了得到一短时平稳单元。本类的属性:@S4Double(defaultValue = 10)public static final String PROP_BLOCK_SIZE_MS = "blockSizeMs";表示块长以毫秒为单位。默认为10ms即即160个采样点。private double blockSizeMs;块长。private int blockSizeSamples = Integer.MAX_VALUE;块中的采样点的数量。默认为int型的最大值private int curFirstSamplePos;当前第一个采样点,的位置在整个采样中的。private int sampleRate = -1;采样率,默认为-1;private final LinkedList<DoubleData> inBuffer = new LinkedList<DoubleData>();一个链接列表,表中的元素可以有重复,可以为null。实现了List<E>, Queue<E>。此链接列表的基本元素为DoubleData类型。private int curInBufferSize;当前链接列表的长度。本类的构造方法:public DataBlocker();空构造方法,在内什么也不做。public DataBlocker(double blockSizeMs);初始化设置logger和快长。public void newProperties(PropertySheet propertySheet);想改变属性时调用。只能是快长属性。public double getBlockSizeMs();获得分块后的块长。public Data getData();每次返回的doubledata数据中所存储的数据的长度都是一样的,改变了再microphone中的doubledata中的数据大小可能不一样的情况,变成的是一样的大小。首先进行来临while循环。调用其上一个数据处理器的getData来获得data数据,如果data为DataStartSignal实例,则设置每块的采样数,在缓存中的当然的大小为0,当前第一个采样的位置也设为0,并清空缓存,如果data不是doubledata的实例对象则返回此data(此data只能是DataEndSignal)。当当前缓存的长度(是以实际的存储的采样数计算得)为快长时推出循环。此时,在缓存中可能是一个doubledata,也可能是多个doubledata接下来是将可能的doubledata合成一个doubledata,合成的doubledata存储的采样数即为块的采样数,即一个doubledata存储.注意要为连续获取data做好考虑。因此在其中要对本类的某些属性进行改变设置。</span>
0 0
- DataBlocker API
- API
- api
- API
- API
- api
- API
- API
- API
- API
- API
- API
- API
- API
- API
- api
- api
- API
- D3D中D3DFVF_XYZ和D3DFVF_XYZRHW的区别
- BaseDataProcessor API
- Android Studio 1.2版本设置安装配置教程(window平台)
- vs2013—未解决问题—编写简单的图片下载程序
- 设计模式C++实现(12)——备忘录模式2
- DataBlocker API
- Win字符串小结
- 《Unix编程艺术》读书笔记(1)
- DataStartSignal API
- 使用zendstudio10.6轻松创建符合官方推荐目录结构的zendframework2应用程序
- Python中步长索引解析
- CodeForces 550CDivisibility by Eight(暴力)
- Matlab图像处理系列4———图像傅立叶变换与反变换
- 工厂设计模式