2013-04-30 50 views
1

我已经继承了一个应用程序,打开一个拥有视频流和音频流(G.711 ULAW格式)的专有文件。该应用程序已将视频写入AVI,但没有音频。 我想添加以相同格式将音频流插入AVI文件的代码。写G.711流到AVI文件

是否有任何代码示例/文档显示如何将G.711流写入AVI?

回答

0

这是该解决方案的更新:

基本上我是在做正确的事情,按照Richard的建议传递正确的编解码器代码(WAVE_FORMAT_MULAW)。

但是,每个API调用:AVIFileCreateStream和AVIStreamSetFormat接受不同的结构。但并非所有字段都与呼叫相关,因此在设置每个字段之前,其余结构必须填充零。

例如:

AVISTREAMINFO aviHeader; 
ZeroMemory(&aviHeader, sizeof(aviHeader)); 
aviHeader.fccType = streamtypeAUDIO; 

...

谢谢!

1

AVIFile服务可用于将流写入AVI格式。

G.711 u-law是Windows中标准的“wave”音频格式。当您使用AVIStreamSetFormat设置音频流的格式时,请使用WAVEFORMATEX结构,其中wFormatTag设置为WAVE_FORMAT_MULAW(0x0007)。

[更新]还有就是如何在CodeProject上读取和写入AVI文件体面的前瞻性演练:Steganography IV - Reading and Writing AVI files

+0

非常感谢您的支持!我会很快研究并更新。 – oferbar 2013-05-01 09:53:24