我有两个文件。两者长度相同(以秒为单位):
- 视频文件(H.264,.mov)
- 音频文件(PCM,.wav)
如何使用C#应用程序中的NAudio.NET库用文件#2的音频覆盖文件#1的音频?我想将最终结果作为新的视频文件写入磁盘。
我相信使用NAudio 1.7的Media Foundation功能是可能的,但我不知道如何修改视频文件的音频流并重新保存视频。
恐怕NAudio 1.7无法做到这一点。NAudio为媒体基础API的很大一部分提供了互操作包装器,但MediaFoundationReader
和MediaFoundationEncoder
类的重点仅在于音频。Media Foundation应该可以做到这一点,所以如果您能找到一个使用MF API实现这一点的C++示例,您可以使用NAudio的互操作包装器在C#中重新创建它。或者,您可以尝试使用不同的托管Media Foundation库,如Media Foundation.NET
您可以使用FFMPEG来完成此操作。从c#调用FFMPEG并找到将视频与音频合并的命令。