2017-10-13 129 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

我做到了,它現在適合目的。 –