1#pragma once
2#include "JCMediaChannelCallback.h"
3#include "JCClient.h"
4#include "JCMediaDevice.h"
5
16{
17public:
23 char recordString[1024];
39 void buildQiniuRecordParam(bool video, const char* bucketName, const char* secretKey, const char* accessKey, const char* fileName);
40
41
54 void buildAliossRecordParam(bool video, const char* bucketName, const char* secretKey, const char* accessKey, const char* uploadEndPoint, const char* fileName);
55};
56
61{
62public:
66 char callerNumber[512];
70 char coreNetwork[512];
78 class JCSDK_API Extra
79 {
80 public:
86 bool sipUri;
92 bool route;
96 char displayName[64];
102 bool mcu;
108 bool video;
112 char dtmfPassowrd[64];
118 const char* toParamString();
123 };
142};
143
148{
149public:
159 char cdn[512];
169 char password[64];
175 bool smooth;
183 // @cond
189 bool uriMode;
190 // @endcond
206 //public int maxBitrate = 2000;
210 char customProperty[1024];
216 char customVideoResolution[128];
232};
233
238{
239public:
264};
265
270{
271public:
295 bool cdn;
301 bool record;
313 bool title;
324};
325
329class JCSDK_API JCMediaChannel
330{
331public:
337 virtual const char* getChannelId() = 0;
345 virtual const char* getChannelUri() = 0;
351 virtual int getChannelNumber() = 0;
357 virtual const char* getSessionId() = 0;
389 virtual bool getUploadLocalAudio() = 0;
397 virtual bool getUploadLocalVideo() = 0;
407 virtual bool getAudioOutput() = 0;
413 virtual const char* getTitle() = 0;
419 virtual const char* getScreenRenderId() = 0;
425 virtual const char* getScreenUserId() = 0;
455 virtual const char* getPassword() = 0;
461 virtual const char* getDeliveryUri() = 0;
463
468 virtual int getConfId() = 0;
470
475 virtual const char* getCustomProperty() = 0;
499 virtual int inviteSipUser(const char* userId, JCMediaChannelSipParam* sipParam) = 0;
508 virtual int query(const char* channelId) = 0;
523 virtual bool join(const char* channelId, JCMediaChannelJoinParam* joinParam) = 0;
533 virtual bool leave() = 0;
545 virtual bool stop() = 0;
564 virtual bool enableUploadAudioStream(bool enable) = 0;
583 virtual bool enableUploadVideoStream(bool enable) = 0;
592 virtual bool setVideoCapture(const char* path) = 0;
607 virtual bool enableAudioOutput(bool enable) = 0;
625 virtual bool requestVideo(JCMediaChannelParticipant* participant, JCMediaChannelPictureSize pictureSize) = 0;
637 virtual bool enableScreenOrWindowShare(bool enable, JCMediaChannelScreenShareParam* screenShareParam) = 0;
654 virtual bool requestScreenVideo(const char* screenUri, JCMediaChannelPictureSize pictureSize) = 0;
666 virtual bool enableCdn(bool enable, int keyInterval) = 0;
678 virtual bool enableRecord(bool enable, JCMediaChannelRecordParam* recordParam) = 0;
687 virtual JCMediaChannelParticipant* getParticipant(const char* userId) = 0;
693 virtual std::list<JCMediaChannelParticipant*>* getParticipants() = 0;
706 virtual bool sendMessage(const char* type, const char* content, const char* toUserId) = 0;
722 virtual const char* getStatistics() = 0;
780 virtual bool sendCommand(const char* name, const char* param) = 0;
792 virtual bool sendCommandToDelivery(const char* command) = 0;
801 virtual bool setCustomProperty(const char* property) = 0;
808 virtual void setCustomRole(JCMediaChannelCustomRole customRole, JCMediaChannelParticipant* participant) = 0;
815 virtual void setCustomState(JCMediaChannelCustomState customState, JCMediaChannelParticipant* participant) = 0;
824 virtual bool kick(JCMediaChannelParticipant* participant) = 0;
835 virtual void enableSelfVideoRatio(bool enable, float ratio) = 0;
857 virtual void stopScreenShareVideo() = 0;
871 virtual bool subscribeParticipantAudio(JCMediaChannelParticipant* participant, bool subscribe) = 0;
872
873public:
880};
881
897extern JCSDK_API JCMediaChannel* createJCMediaChannel(JCClient* client, JCMediaDevice* mediaDevice, JCMediaChannelCallback* callback);
901extern JCSDK_API void destroyJCMediaChannel();
902
Definition: JCClient.h:112
Definition: JCMediaChannelCallback.h:16
Definition: JCMediaChannel.h:330
bool volumeChangeNotify
Definition: JCMediaChannel.h:879
virtual bool getUploadLocalAudio()=0
virtual bool setVideoCapture(const char *path)=0
virtual JCMediaChannelParticipant * getSelfParticipant()=0
virtual JCMediaDeviceVideoCanvas * startScreenShareVideo(void *view, JCMediaDeviceRenderMode mode, JCMediaChannelPictureSize pictureSize)=0
virtual bool enableUploadAudioStream(bool enable)=0
virtual bool enableUploadVideoStream(bool enable)=0
virtual JCMediaChannelCustomRole getCustomRole()=0
virtual const char * getTitle()=0
virtual void stopScreenShareVideo()=0
virtual bool getAudioOutput()=0
virtual JCMediaChannelState getState()=0
virtual bool sendCommand(const char *name, const char *param)=0
virtual bool sendCommandToDelivery(const char *command)=0
virtual JCMediaChannelRecordState getRecordState()=0
virtual bool subscribeParticipantAudio(JCMediaChannelParticipant *participant, bool subscribe)=0
virtual const char * getCustomProperty()=0
virtual bool getUploadLocalVideo()=0
virtual JCMediaChannelCdnState getCdnState()=0
virtual bool requestScreenVideo(const char *screenUri, JCMediaChannelPictureSize pictureSize)=0
virtual std::list< JCMediaChannelParticipant * > * getParticipants()=0
virtual const char * getScreenUserId()=0
virtual void enableSelfVideoRatio(bool enable, float ratio)=0
virtual const char * getDeliveryUri()=0
virtual bool stop()=0
virtual JCMediaChannelMaxResolution getMaxResolution()=0
virtual void setCustomRole(JCMediaChannelCustomRole customRole, JCMediaChannelParticipant *participant)=0
virtual void setCustomState(JCMediaChannelCustomState customState, JCMediaChannelParticipant *participant)=0
virtual bool requestVideo(JCMediaChannelParticipant *participant, JCMediaChannelPictureSize pictureSize)=0
virtual bool enableCdn(bool enable, int keyInterval)=0
virtual const char * getScreenRenderId()=0
virtual bool leave()=0
virtual const char * getStatistics()=0
virtual const char * getChannelId()=0
virtual int getChannelNumber()=0
virtual bool kick(JCMediaChannelParticipant *participant)=0
virtual bool sendMessage(const char *type, const char *content, const char *toUserId)=0
virtual bool join(const char *channelId, JCMediaChannelJoinParam *joinParam)=0
virtual JCMediaChannelParticipant * getParticipant(const char *userId)=0
virtual bool setCustomProperty(const char *property)=0
virtual int inviteSipUser(const char *userId, JCMediaChannelSipParam *sipParam)=0
virtual JCMediaChannelCustomState getCustomState()=0
virtual bool enableAudioOutput(bool enable)=0
virtual bool enableRecord(bool enable, JCMediaChannelRecordParam *recordParam)=0
virtual const char * getSessionId()=0
virtual const char * getChannelUri()=0
virtual bool enableScreenOrWindowShare(bool enable, JCMediaChannelScreenShareParam *screenShareParam)=0
virtual const char * getPassword()=0
virtual int query(const char *channelId)=0
Definition: JCMediaChannel.h:148
int heartbeatTime
Definition: JCMediaChannel.h:194
float videoRatio
Definition: JCMediaChannel.h:220
bool smooth
Definition: JCMediaChannel.h:175
int heartbeatTimeout
Definition: JCMediaChannel.h:198
int framerate
Definition: JCMediaChannel.h:202
int capacity
Definition: JCMediaChannel.h:153
JCMediaChannelMaxResolution maxResolution
Definition: JCMediaChannel.h:182
int defaultBitrate
Definition: JCMediaChannel.h:226
JCMediaChannelRecordParam record
Definition: JCMediaChannel.h:165
Definition: JCMediaChannelParticipant.h:13
Definition: JCMediaChannel.h:270
bool customProperty
Definition: JCMediaChannel.h:319
bool screenShare
Definition: JCMediaChannel.h:307
bool title
Definition: JCMediaChannel.h:313
bool cdn
Definition: JCMediaChannel.h:295
bool uploadVideo
Definition: JCMediaChannel.h:283
bool record
Definition: JCMediaChannel.h:301
bool uploadAudio
Definition: JCMediaChannel.h:277
bool audioOut
Definition: JCMediaChannel.h:289
Definition: JCMediaChannel.h:16
void buildQiniuRecordParam(bool video, const char *bucketName, const char *secretKey, const char *accessKey, const char *fileName)
void buildAliossRecordParam(bool video, const char *bucketName, const char *secretKey, const char *accessKey, const char *uploadEndPoint, const char *fileName)
Definition: JCMediaChannel.h:238
int resolution
Definition: JCMediaChannel.h:259
int frameRate
Definition: JCMediaChannel.h:251
int bitrate
Definition: JCMediaChannel.h:245
Definition: JCMediaChannel.h:79
bool mcu
Definition: JCMediaChannel.h:102
bool sipUri
Definition: JCMediaChannel.h:86
bool video
Definition: JCMediaChannel.h:108
bool route
Definition: JCMediaChannel.h:92
Definition: JCMediaChannel.h:61
Extra extra
Definition: JCMediaChannel.h:137
bool useExtra
Definition: JCMediaChannel.h:133
Definition: JCMediaDevice.h:198
Definition: JCMediaDeviceVideoCanvas.h:11
JCSDK_API void destroyJCMediaChannel()
JCMediaChannelMaxResolution
Definition: JCMediaChannelConstants.h:186
JCMediaChannelCustomState
Definition: JCMediaChannelConstants.h:232
JCSDK_API JCMediaChannel * createJCMediaChannel(JCClient *client, JCMediaDevice *mediaDevice, JCMediaChannelCallback *callback)
JCMediaChannelCdnState
Definition: JCMediaChannelConstants.h:160
JCMediaChannelCustomRole
Definition: JCMediaChannelConstants.h:205
JCMediaChannelState
Definition: JCMediaChannelConstants.h:42
JCMediaChannelRecordState
Definition: JCMediaChannelConstants.h:120
JCMediaChannelPictureSize
Definition: JCMediaChannelConstants.h:16
JCMediaDeviceRenderMode
Definition: JCMediaDeviceConstants.h:16
最后更新时间: 2023/3/13 14:46:40