我已经继承了一个应用程序,打开一个拥有视频流和音频流(G.711 ULAW格式)的专有文件。该应用程序已将视频写入AVI,但没有音频。 我想添加以相同格式将音频流插入AVI文件的代码。写G.711流到AVI文件
是否有任何代码示例/文档显示如何将G.711流写入AVI?
我已经继承了一个应用程序,打开一个拥有视频流和音频流(G.711 ULAW格式)的专有文件。该应用程序已将视频写入AVI,但没有音频。 我想添加以相同格式将音频流插入AVI文件的代码。写G.711流到AVI文件
是否有任何代码示例/文档显示如何将G.711流写入AVI?
这是该解决方案的更新:
基本上我是在做正确的事情,按照Richard的建议传递正确的编解码器代码(WAVE_FORMAT_MULAW)。
但是,每个API调用:AVIFileCreateStream和AVIStreamSetFormat接受不同的结构。但并非所有字段都与呼叫相关,因此在设置每个字段之前,其余结构必须填充零。
例如:
AVISTREAMINFO aviHeader;
ZeroMemory(&aviHeader, sizeof(aviHeader));
aviHeader.fccType = streamtypeAUDIO;
...
谢谢!
AVIFile服务可用于将流写入AVI格式。
G.711 u-law是Windows中标准的“wave”音频格式。当您使用AVIStreamSetFormat设置音频流的格式时,请使用WAVEFORMATEX结构,其中wFormatTag
设置为WAVE_FORMAT_MULAW
(0x0007)。
[更新]还有就是如何在CodeProject上读取和写入AVI文件体面的前瞻性演练:Steganography IV - Reading and Writing AVI files
非常感谢您的支持!我会很快研究并更新。 – oferbar 2013-05-01 09:53:24