1 #pragma once
2 #include "JCCallCallback.h"
3 #include "JCCallConstants.h"
4 #include "JCClient.h"
5 #include "JCMediaDevice.h"
6 
16 class JCSDK_API JCCallMediaConfig {
17 public:
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;
88 public:
94  const char* toString();
112 
113 public:
125  char audioEnableCodecs[256];
157  bool audioRed;
175  bool audioRtx;
225  char videoEnableCodecs[256];
309 
316 
323 };
324 
328 class JCSDK_API JCCallParam {
329 public:
336  char extraParam[1024];
344  char ticket[64];
349 };
350 
354 class JCSDK_API JCCall {
355 public:
378  virtual bool call(const char* userId, bool video, JCCallParam* callParam) = 0;
389  virtual bool term(JCCallItem* item, JCCallReason reason, const char* description) = 0;
405  virtual bool answer(JCCallItem* item, bool video) = 0;
420  virtual bool mute(JCCallItem* item) = 0;
434  virtual bool muteSpeaker(JCCallItem* item, bool mute) = 0;
448  virtual bool muteMicrophone(JCCallItem* item, bool mute) = 0;
463  virtual bool hold(JCCallItem* item) = 0;
479  virtual bool audioRecord(JCCallItem* item, bool enable, const char* filePath) = 0;
503  virtual bool videoRecord(JCCallItem* item, bool enable, bool remote, int width, int height, const char* filePath, bool bothAudio) = 0;
514  virtual bool becomeActive(JCCallItem* item) = 0;
529  virtual bool enableUploadVideoStream(JCCallItem* item) = 0;
537  virtual std::list<JCCallItem*>* getCallItems() = 0;
562  virtual bool sendMessage(JCCallItem* item, const char* type, const char* content) = 0;
570  virtual const char* getStatistics() = 0;
578  virtual void updateMediaConfig(JCCallMediaConfig mediaConfig) = 0;
594  virtual bool sendDtmf(JCCallItem* item, JCCallDtmfValue value) = 0;
595 public:
596 
602  unsigned int maxCallNum;
612 };
613 
629 extern JCSDK_API JCCall* createJCCall(JCClient* client, JCMediaDevice* mediaDevice, JCCallCallback* callback);
633 extern JCSDK_API void destroyJCCall();
最后更新时间: 11/9/2021, 5:34:32 PM