C# Expression Encoder SDK-如何在视频中添加音频曲目

C# Expression Encoder SDK-如何在视频中添加音频曲目,c#,.net,C#,.net,我需要一些帮助。我想将audio.mp3文件(或任何其他格式)覆盖到视频上 我使用的是Expression Encoder 4的免费版本,所以我所有的视频输出都是wmv。问题是,我不知道如何将音频文件添加到视频媒体项。我尝试了类似的方法,但没有在结果中添加音频: MediaItem videoTrack = new MediaItem(@"path\to\videofile.wmv"); videoTrack.OutputFormat = new WindowsMediaOutputFormat

我需要一些帮助。我想将audio.mp3文件(或任何其他格式)覆盖到视频上

我使用的是Expression Encoder 4的免费版本,所以我所有的视频输出都是wmv。问题是,我不知道如何将音频文件添加到视频媒体项。我尝试了类似的方法,但没有在结果中添加音频:

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这样功能强大的产品来说,这真的不难做到。

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

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

它似乎对主人有效,但对我无效。在我的例子中,我有一个没有音频的视频文件和两个没有视频的音频文件。我的预期结果是一个包含所有这些项的.mp4文件。我使用这个解决方案时得到的输出只是视频。也许我做错了什么?无论如何,我建议使用
NReco.VideoConverter
中的
FFMpegConverter
类。您只需调用
FFMpegConverter.Invoke(“”)这里有一个命令:它似乎对所有者有效,但对我无效。在我的例子中,我有一个没有音频的视频文件和两个没有视频的音频文件。我的预期结果是一个包含所有这些项的.mp4文件。我使用这个解决方案时得到的输出只是视频。也许我做错了什么?无论如何,我建议使用
NReco.VideoConverter
中的
FFMpegConverter
类。您只需调用
FFMpegConverter.Invoke(“”)代码: