我有一个Delphi 6方案,利用DSPACK图书馆直接过滤工作。 我正在创建我的第一个普什源过滤器,提供来自习俗视听来源的录音。 目前,我的最大问题是,如何确定我在FillBuffer(电话)中将复制到Fileter输出缓冲处的数据数量。
Do I really copy only one audio sample at a time? This would be a mere 2-bytes in my case since each audio sample is 16-bits wide, single-channel. This seems radically inefficient. Or do I copy a block of samples at once, and if so, what is the correct logic to use in determining how many bytes to copy? Is the correct logic to simply use the value returned by Sample.GetSize() as the number of bytes to provide, where Sample is the IMediaSample object passed in to the FillBuffer() call?
另外,如果任何人在制作音响推进源过滤器和录像带方面有任何疏漏或警告,请在座标。 我正在做的样本是录像过滤器,该过滤器将目前的桌面图像作为一系列的轨道图。 我担心的是,在把视频过滤器作为我的起点时,我将做一些不适当的事情。 此外,这一过滤器的音频必须是实时的,因为它涉及两个当事人之间的直播联系。