這樣做的正確方法是什麼?假設我有一個音頻數據流,並希望在將其寫入磁盤之前應用一些音頻過濾器操縱流
過濾器的接口應該是什麼樣子?
Sub Process(InputStream as IO.Stream)
或
Function Process(InputStream as IO.Stream) as IO.Stream
?
我想我有點不清楚應該如何在類和方法之間傳遞流 - 我是否需要讀取方法中的整個流,處理它,然後寫入返回的新流?
沒有固定長度的流如何?我不想嘗試讀取一個潛在的無限流到內存中 - 我希望每個過濾器處理一個塊並將其傳遞到下一個過濾器。
有人可以請指出我在正確的方向嗎?
流應該像其他任何東西一樣傳遞。你認爲他們有什麼特別的? –
嗯,我需要處理是連續的 - 例如,樣本1到達,在被寫入磁盤之前通過「VolumeUp」,然後是「PitchShift」等進行處理。雖然示例1正在進行音調移動,但示例2已經到達並且需要通過'VolumeUp'等運行...即,它不是我傳遞的離散數據,我需要將我的類連接爲處理器,我認爲它應該並行或快速連續運行...... – Basic
因此,這與如何傳遞數據流無關,而是如何創建一組「處理器」來順序處理數據流。你甚至有辦法將流分成樣本嗎? –