来自缓冲区的反应扩展缓冲区

时间:2017-10-13 22:33:28

标签: system.reactive reactive

我从麦克风捕获音频并在每个样本处生成一定长度X的字节数组。是否有可能使用Rx.NET订阅EventHandler并在每次数组累积到一定大小时得到通知?

基本上我想得到这个:

source events: [---][---][---][---][---][---][---]
target events:       [-----][-----][-----][-----][-----]

例如,source事件生成一个长度为3200字节的字节数组,并且接收到的缓冲区长度为4096字节。

1 个答案:

答案 0 :(得分:2)

是的,这很容易。试试这个:

var source = Observable.Range(0, 100).Buffer(5)
var target = source.SelectMany(x => x).Buffer(7);

我的source的缓冲区长度为5,可在7中转换为target的缓冲区长度。