Expression Encoder SDK - 如何在视频上添加音轨

时间:2012-03-07 15:21:47

标签: c# .net

我可以对此使用一些帮助。我想将audio.mp3文件(或其他任何格式)叠加到视频上。

我正在使用Expression Encoder 4的免费版本,所以我的所有视频输出都是wmv。事实是,我不知道如何将音频文件添加到视频MediaItem。我尝试过类似的东西,但它没有在结果上添加音频:

MediaItem videoTrack = new MediaItem(@"path\to\videofile.wmv");
videoTrack.OutputFormat = new WindowsMediaOutputFormat();
videoTrack.OutputFormat.VideoProfile = new AdvancedVC1VideoProfile();
MediaItem audioTrack = new MediaItem(@"path\to\audio.mp3");
videoTrack.OutputFormat.AudioProfile = audioTrack.SourceAudioProfile;
job.MediaItems.Add(videoTrack);
job.Encode();

当它不起作用时(可能因为仅配置文件只是元数据,而不是音频文件本身),然后我尝试按照将图像叠加到视频上的方式覆盖音频,方法如下:

MediaItem videoTrack = new MediaItem(@"path\to\videofile.wmv");
string overlayFilename = @"path\to\audio.mp3";
videoTrack.OverlayFileName = overlayFilename;
job.MediaItems.Add(videoTrack);
job.Encode();

这也失败了,这次错误说覆盖项目需要有视频流或其他东西(我猜ExEncoder预计叠加是一个视频文件)。一些帮助将不胜感激。对于像ExEncoder 4这样强大的产品来说,这真的不应该是这么难。

1 个答案:

答案 0 :(得分:1)

MediaItem还有一个名为AudioOverlayFileName的属性 - 如果你只想覆盖音频,你应该设置一个属性!