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