我们有一个DirectShow应用程序,我们从USB捕获视频输入,与WAV文件(支持音乐)的音频复用,覆盖音频和视频效果,压缩和写入MP4文件。
最初我们使用音频输入源(麦克风)并在顶部混合我们的支持音乐和声音效果,但决定不捕捉现场音频,所以我认为使用支持音乐会更有意义WAV文件本身作为音频源。
以下是我们的过滤器图表:
backing.wav
是一个简单的WAV文件(本地存储),并使用IFilterGraph::AddSourceFilter
添加到图表中。
问题是当运行图表时,没有从WAV文件传送音频样本。图表的视频部分正常运行,但就好像图表的音频部分没有运行。
如果我在GraphEdit中停止图形,添加Default DirectSound Device
音频渲染器并将其挂钩代替AAC编码器滤镜,然后再次运行图形,音频将按预期播放。
此外,如果将backing.wav
替换为麦克风等音频捕获源,则音频数据会照常流过。
有没有人有任何想法为什么上面的图表,使用WAV文件作为音频源,将无法产生任何音频样本?