ByteScout Screen Capturing SDK – C++ (unmanaged) – WEBM – Capture From Entire Screen (QT)

  • Home
  • /
  • Articles
  • /
  • ByteScout Screen Capturing SDK – C++ (unmanaged) – WEBM – Capture From Entire Screen (QT)

ByteScout Screen Capturing SDK – C++ (unmanaged) – WEBM – Capture From Entire Screen (QT)

main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
   // w.show(); Decomment if you need custom the GUI

    return a.exec();
}

widget.cpp

#include “widget.h”
#include “ui_widget.h”
#include
#include
#include

using namespace std;

Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//Decomment if you need to use QAxWidget
//com = new QAxWidget;
//Comment if you need QAxWidget
com = new QAxObject;
com->setControl(“BytescoutScreenCapturing.Capturer”);
QString error = com->property(“LastError”).toString();
if (error.compare(“No errors.”)!=0) // or empty string
{
cout <<"Screen Capturer is not installed properly. " << error.toStdString() << endl; exit(1); } com->setProperty(“RegistrationName”,”demo”);
com->setProperty(“RegistrationKey”,”demo”);
com->setProperty(“CapturingType”,3);//catScreen: Capture all screen

/************************************************************************************
* The code you sent me used the webcam too.
* Decomment if you need show webcam streaming
*************************************************************************************
*************************************************************************************/

//com->setProperty(“CurrentWebCam”,0);
//com->setProperty(“CaptureTransparentControls”,true);
// Set rectangle to show overlaying video from webcam into the rectangle 160×120 (starting with left point at 10, 10)
//com->dynamicCall(“SetWebCamVideoRectangle(int,int,int,int)”,10, 10, 160, 120);
// Enable webcam overlaying capture device
//com->setProperty(“AddWebCamVideo”,true);

//com->setProperty(“OutputWidth”,640);
//com->setProperty(“OutputHeight”,480);
/**************************************************************************************
//End webcam property
/***************************************************************************************
*/

// Set output file name
com->setProperty(“OutputFileName”, “Output.webm”);
com->dynamicCall(“Run()”);

//’ IMPORTANT: if you want to check for some code if need to stop the recording then make sure you are
//’ using Thread.Sleep(1) inside the checking loop, so you have the loop like
//’ Do
//’ Thread.Sleep(1)
//’ While StopButtonNotClicked

error = com->property(“LastError”).toString();
if (error.compare(“No errors.”)!=0)
{
cout <<"Capture failed. " << error.toStdString() << endl; exit(1); } //Testing purposes: //Register for 10 seconds and after stop the process //You can stop the registration as you prefer: Input, keyboard and so on.. Sleep(10000); //Usefull for testing purposes: Register for 10 seconds com->dynamicCall(“Stop()”); //End registration
qDebug()<<"End Registration"; } Widget::~Widget() { delete ui; } [/cpp]


  Click here to get your Free Trial version of the SDK

prev
next