123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #ifndef CLIVEVIODEPROC_H
- #define CLIVEVIODEPROC_H
- #include "ITRTCCloud.h"
- #include <QString>
- #include <QObject>
- enum LIVE_TYPE
- {
- lt_unknown = 0,
- lt_client_camera, //摄像头
- lt_client_screen, //屏幕
- lt_client_camera_screen //摄像头+屏幕
- };
- class CVideoRenderCallBack : public ITRTCVideoRenderCallback
- {
- public:
- CVideoRenderCallBack();
- virtual void onRenderVideoFrame(const char* userId, TRTCVideoStreamType streamType, TRTCVideoFrame* frame);
- private:
- __int64 m_nLastFrameTime;
- };
- class CLiveViodeProc : public QObject, public ITRTCCloudCallback
- {
- Q_OBJECT
- public:
- CLiveViodeProc();
- ~CLiveViodeProc();
-
- void initParam(int nLiveType, uint32_t nSdkAppId, std::string sUserId, std::string sUserSig,
- std::string sRoomId, std::string sCameraStreamName, std::string sCameraStreamRecordId,
- std::string sScreenStreamName, std::string sScreenStreamRecordId);
- void EnterRoom();
- void exitRoom();
- void enableFrameCallBack(bool bEnable);
- void enableLoaclAudio(bool bEnable);
- void startPlayAudio();
- void setHandle(HWND hwnd);
- void startTest(HWND hwnd);
- void startTest(ITRTCVideoRenderCallback *pCallBack, bool bHighDpi = false);
- void stopTest(bool bHighDpi = false);
- bool isCameraTest();
- int getCameraCount();
- QString setCurrentCamera(int nIndex);
- QString getCurrentCamera();
- signals:
- void videoErrorMsg(QString);
- void enterRoomSucceed();
- void videoConnectionLost();
- void videoConnectionRecovery();
- void invigilatorEnterRoom();
- void invigilatorLeaveRoom();
- void invigilatorVolume(int);
- void cameraUseFailed();
- private:
- virtual void onError(TXLiteAVError errCode, const char* errMsg, void* arg);
- virtual void onWarning(TXLiteAVWarning warningCode, const char* warningMsg, void* arg);
- virtual void onEnterRoom(int result);
- virtual void onExitRoom(int reason);
- virtual void onRemoteUserEnterRoom(const char* userId);
- virtual void onRemoteUserLeaveRoom(const char* userId, int reason);
- virtual void onUserVideoAvailable(const char* userId, bool available);
- virtual void onUserAudioAvailable(const char* userId, bool available);
- // onScreenCaptureStarted
- // onScreenCaptureStoped
- virtual void onConnectionLost();
- virtual void onConnectionRecovery();
- virtual void onUserVoiceVolume(TRTCVolumeInfo* userVolumes, uint32_t userVolumesCount, uint32_t totalVolume);
- private:
- HWND m_hwnd;
- ITRTCCloud * m_pTRTCSDK;
- CVideoRenderCallBack *m_pVideoRenderCallBack;
- uint32_t m_nSdkAppId;
- std::string m_sUserId;
- std::string m_sUserSig;
- std::string m_sRoomId;
- std::string m_sCameraStreamName;
- std::string m_sCameraStreamRecordId;
- std::string m_sScreenStreamName;
- std::string m_sScreenStreamRecordId;
- bool m_bFrameCallBack;
- int m_nLiveType;
- bool m_bPlay;
- bool m_bEnableLocalAudo;
- bool m_bIsCameraTest;
- int m_nCameraCount;
- };
- extern std::shared_ptr<CLiveViodeProc> g_clientVideoProcPtr;
- #endif // CLIVEVIODEPROC_H
|