我从麦克风捕获音频并在每个样本处生成一定长度X的字节数组。是否有可能使用Rx.NET订阅EventHandler并在每次数组累积到一定大小时得到通知?
基本上我想得到这个:
source events: [---][---][---][---][---][---][---]
target events: [-----][-----][-----][-----][-----]
例如,source事件生成一个长度为3200字节的字节数组,并且接收到的缓冲区长度为4096字节。
答案 0 :(得分:2)
是的,这很容易。试试这个:
var source = Observable.Range(0, 100).Buffer(5)
var target = source.SelectMany(x => x).Buffer(7);
我的source
的缓冲区长度为5
,可在7
中转换为target
的缓冲区长度。