2017-10-13 106 views
2

我从麦克风捕获音频,并在每个样本中生成一定长度为X的字节数组。 Rx.NET是否可以订阅EventHandler,并在每次数组累积到一定大小时收到通知?来自缓冲区的反应性扩展缓冲区

基本上我想得到这样的:

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

其中例如所述源事件产生一个字节数组的3200个字节的长度,并且所接收的希望4096个字节长的缓冲区。

回答

2

是的,很简单。刚刚尝试这一点:

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

source5缓冲区长度获取target转化为7一个缓冲区长度。

+0

谢谢!任何方式为缓冲区产生一个数组而不是数组被转换为和从一个字节列表? –

+0

@PincoPallino - 是的,但它开始变得更加复杂。你有没有试过这段代码,看看是否足够高性能? – Enigmativity

+0

我做到了,它现在适合目的。 –