1#pragma once
2#include "JCCallCallback.h"
3#include "JCCallConstants.h"
4#include "JCClient.h"
5#include "JCMediaDevice.h"
6
16class JCSDK_API JCCallMediaConfig {
17public:
25 typedef enum AecMode
26 {
30 AecModeAec = EN_MTC_EC_AEC,
34 AecModeOS = EN_MTC_EC_OS,
38 AecModeAes = EN_MTC_EC_AES,
42 AecModeFde = EN_MTC_EC_AEC_FDE,
46 AecModeSde = EN_MTC_EC_AEC_SDE
47 } AecMode;
59 typedef enum
60 {
82 ModeSip
83 } Mode;
88public:
94 const char* toString();
112
113public:
125 char audioEnableCodecs[256];
225 char videoEnableCodecs[256];
309
316
323};
324
328class JCSDK_API JCCallParam {
329public:
336 char extraParam[1024];
344 char ticket[64];
345
349 bool toSip;
350
355
360};
361
365class JCSDK_API JCCall {
366public:
389 virtual bool call(const char* userId, bool video, JCCallParam* callParam) = 0;
400 virtual bool term(JCCallItem* item, JCCallReason reason, const char* description) = 0;
416 virtual bool answer(JCCallItem* item, bool video) = 0;
431 virtual bool mute(JCCallItem* item) = 0;
445 virtual bool muteSpeaker(JCCallItem* item, bool mute) = 0;
459 virtual bool muteMicrophone(JCCallItem* item, bool mute) = 0;
474 virtual bool hold(JCCallItem* item) = 0;
490 virtual bool audioRecord(JCCallItem* item, bool enable, const char* filePath) = 0;
515 virtual bool videoRecord(JCCallItem* item, bool enable, bool remote, int width, int height, const char* filePath, bool bothAudio, int keyframe) = 0;
526 virtual bool becomeActive(JCCallItem* item) = 0;
541 virtual bool enableUploadVideoStream(JCCallItem* item) = 0;
549 virtual std::list<JCCallItem*>* getCallItems() = 0;
574 virtual bool sendMessage(JCCallItem* item, const char* type, const char* content) = 0;
582 virtual const char* getStatistics() = 0;
590 virtual void updateMediaConfig(JCCallMediaConfig mediaConfig) = 0;
606 virtual bool sendDtmf(JCCallItem* item, JCCallDtmfValue value) = 0;
607public:
608
614 unsigned int maxCallNum;
624};
625
641extern JCSDK_API JCCall* createJCCall(JCClient* client, JCMediaDevice* mediaDevice, JCCallCallback* callback);
645extern JCSDK_API void destroyJCCall();
Definition: JCCallCallback.h:12
Definition: JCCall.h:365
virtual bool muteMicrophone(JCCallItem *item, bool mute)=0
virtual bool audioRecord(JCCallItem *item, bool enable, const char *filePath)=0
virtual bool term(JCCallItem *item, JCCallReason reason, const char *description)=0
virtual bool sendDtmf(JCCallItem *item, JCCallDtmfValue value)=0
virtual std::list< JCCallItem * > * getCallItems()=0
virtual bool mute(JCCallItem *item)=0
virtual bool call(const char *userId, bool video, JCCallParam *callParam)=0
virtual JCCallItem * getActiveCallItem()=0
unsigned int maxCallNum
Definition: JCCall.h:614
virtual bool answer(JCCallItem *item, bool video)=0
virtual bool sendMessage(JCCallItem *item, const char *type, const char *content)=0
virtual JCCallMediaConfig getMediaConfig()=0
virtual bool muteSpeaker(JCCallItem *item, bool mute)=0
bool termWhenNetDisconnected
Definition: JCCall.h:623
virtual bool hold(JCCallItem *item)=0
virtual const char * getStatistics()=0
virtual void updateMediaConfig(JCCallMediaConfig mediaConfig)=0
virtual bool enableUploadVideoStream(JCCallItem *item)=0
virtual bool videoRecord(JCCallItem *item, bool enable, bool remote, int width, int height, const char *filePath, bool bothAudio, int keyframe)=0
virtual bool becomeActive(JCCallItem *item)=0
Definition: JCCallItem.h:98
Definition: JCCall.h:16
bool audioRxAnr
Definition: JCCall.h:166
bool audioRxAgc
Definition: JCCall.h:184
int videoArsBitrateMax
Definition: JCCall.h:263
int videoArsFramerateMax
Definition: JCCall.h:271
bool audioQosAgc
Definition: JCCall.h:205
int audioArsBitrateMin
Definition: JCCall.h:144
bool audioArsEnable
Definition: JCCall.h:140
Mode mode
Definition: JCCall.h:119
bool videoRecvFullScreen
Definition: JCCall.h:293
int videoSendFramerate
Definition: JCCall.h:249
bool audioQosAnr
Definition: JCCall.h:199
int videoResolutionSendHeight
Definition: JCCall.h:241
int audioPacketTime
Definition: JCCall.h:215
static JCCallMediaConfig generateByMode(Mode mode)
bool videoArsEnable
Definition: JCCall.h:255
int videoArsFramerateMin
Definition: JCCall.h:267
bool videoResolutionControl
Definition: JCCall.h:308
int videoResolutionRecvHeight
Definition: JCCall.h:233
int audioArsBitrateMax
Definition: JCCall.h:148
bool audioQosVad
Definition: JCCall.h:211
int heartbeatTime
Definition: JCCall.h:315
bool videoRedFec
Definition: JCCall.h:280
int videoKeyPeriod
Definition: JCCall.h:322
int videoResolutionRecvWidth
Definition: JCCall.h:229
int videoBitrate
Definition: JCCall.h:245
bool audioQosAec
Definition: JCCall.h:190
int videoArsBitrateMin
Definition: JCCall.h:259
bool audioRed
Definition: JCCall.h:157
int audioQosAgcGain
Definition: JCCall.h:221
const char * toString()
bool audioRtx
Definition: JCCall.h:175
bool videoSmallNalu
Definition: JCCall.h:302
int audioAecMode
Definition: JCCall.h:134
int videoResolutionSendWidth
Definition: JCCall.h:237
Definition: JCCall.h:328
bool toSip
Definition: JCCall.h:349
bool earlyMediaEnable
Definition: JCCall.h:354
Definition: JCClient.h:112
Definition: JCMediaDevice.h:198
Mode
Definition: JCCall.h:60
AecMode
Definition: JCCall.h:26
JCCallDtmfValue
Definition: JCCallConstants.h:104
JCSDK_API JCCall * createJCCall(JCClient *client, JCMediaDevice *mediaDevice, JCCallCallback *callback)
JCSDK_API void destroyJCCall()
@ ModeIOT
Definition: JCCall.h:76
@ Mode360P
Definition: JCCall.h:64
@ Mode720P
Definition: JCCall.h:68
@ ModeIntelligentHardware
Definition: JCCall.h:72
JCCallReason
Definition: JCCallConstants.h:185
最后更新时间: 2023/3/13 14:46:40