我想使用Bandicam Screen Recorder SDK,并按照他们网站上显示的所有步骤进行操作。你可以在这里找到这个库 https:/www.bandicam.comscreen-recorder-sdk 以及这里的使用说明https:/www.bandicam.comcompanysdkbandi_capture_libraryhelpSection2.2.html
我在我的代码中加入了bandicap.h,并希望用命令行编译,但-lbdcap32和-lbandicap都不行。无论是-lbdcap32还是-lbandicap都不工作。一些对象和方法显然没有在这个作用域中声明,也没有被识别。我找不到其他方法来编译bdcap32.dll,我不知道是否必须在cmd中使用其他名称。
下面是我的代码。
#include "record.h"
#include "bandicap.h"
CBandiCaptureLibrary captureLib;
int main(){
HANDLE keyIn, KeyOut;
INPUT_RECORD recIn;
DWORD numRead;
ReadConsoleInput(keyIn, &recIn, 1, &numRead);
switch(recIn.EventType){
case KEY_EVENT:
if(recIn.Event.KeyEvent.uChar.AsciiChar == 'r'){
toggleCapture();
}
}
return 0;
}
void toggleCapture(){
IDirect3DDevice9* device = GetD3DDevice();
if(!captureLib.IsCapturing()){
if(!captureLib.IsCreated()){
if(FAILED(captureLib.Create(BANDICAP_RELEASE_DLL_FILE_NAME))){
ASSERT(0);
}
if(FAILED(captureLib.Verify("BCL-SDK-TRIAL", "f5b0b287"))){
ASSERT(0);
}
}else{
BCAP_CONFIG cfg;
BCapConfigPreset(&cfg, BCAP_PRESET_DEFAULT);
captureLib.CheckConfig(&cfg);
captureLib.SetConfig(&cfg);
TCHAR pathName[50];
captureLib.MakePathnameByDate(_T("record\\"), _T("Capture"), _T("avi"), pathName, 50);
HRESULT hr = captureLib.Start(pathName, NULL, BCAP_MODE_D3D9_SCALE, (LONG_PTR)device);
if(FAILED(hr)){
ASSERT(0);
}
}
}else{
captureLib.Stop();
}
}
void toggleCapture();
如果你知道我应该做什么,这将是非常有用的,或者如果我做错了什么,我没有注意到也是欢迎的! 非常感谢
也许你做错了什么