我看到了一些关于如何做到这一点的流程,但我不能让它在视觉工作室为自己工作。
代码有什么问题?我已经下载了FFMpeg并使用它作为参考。然而,我收到了错误
"无法加载文件或程序集Aforge.Video.FFMPEG。 dll或其中之一 它的依赖关系"
这是代码。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AForge;
using AForge.Video;
using AForge.Video.FFMPEG;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// create instance of video reader
VideoFileReader reader = new VideoFileReader( );
// open video file
reader.Open( "test.avi" );
// read 100 video frames out of it
for ( int i = 0; i < 100; i++ )
{
Bitmap videoFrame = reader.ReadVideoFrame( );
videoFrame.Save(i + ".bmp");
// dispose the frame when it is no longer required
videoFrame.Dispose( );
}
reader.Close( );
}
}
}
单击按钮时程序停止并出现错误。
答案 0 :(得分:0)
看起来dll
可能已被移动/删除(或)可能未签入。通常,最佳做法是将它们添加到项目中的库文件夹(例如lib
或bin
)中。因此,当您签入您的内容时,所有库文件也会被签入,并且您的引用也完好无损。
由于dll
似乎是外部的,我希望你浏览它并添加引用。
您可以复制项目中的dll
文件(最好在lib
文件夹中),然后再添加参考文件吗?
看起来Visual Studio添加了引用,但它无法找到该文件。
我猜这样做会解决你的问题。
答案 1 :(得分:0)
您可能还需要检查构建项目的方式。某些DLL可能只能在x86或x64构建配置下工作。也许不是父dll直接,而是内部使用的引用。
答案 2 :(得分:0)
您需要在bin文件夹中添加来自AForge.NET \ Framework \ Externals \ ffmpeg的dll,并确保您正在运行32位(项目属性 - &gt; debug - &gt; platform - &gt; x86 < / p>