VideoManager.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //
  2. // VideoManager.h
  3. // SikeyComm
  4. //
  5. // Created by 刘振兴 on 2024/3/21.
  6. // Copyright © 2024 BaH Cy. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <AgoraRtcKit/AgoraRtcKit.h>
  10. #import "EModel.h"
  11. NS_ASSUME_NONNULL_BEGIN
  12. #define NOTIFICATION_JUPHOON @"NOTIFICATION_JUPHOON"
  13. #define NOTIFICATION_AGORA @"NOTIFICATION_AGORA"
  14. @interface VideoManager : NSObject
  15. + (VideoManager *)shared;
  16. @property(nonatomic, assign) VIDEO_TYPE mVideoType;
  17. @property(nonatomic, strong, nullable) SKInCallViewController* mInCallVC;
  18. //Juphoon
  19. @property(nonatomic, strong) JCClient *mJuphoonClient;
  20. @property(nonatomic, strong) JCCall *mJuphoonCall;
  21. @property(nonatomic, strong) JCMediaDevice *mJuphoonMediaDevice;
  22. //声网
  23. @property(nonatomic, strong) AgoraRtcEngineKit *agoraKit;
  24. @property(nonatomic, strong) AgoraMediaRecorder *localRecorder;
  25. @property(nonatomic, strong) AgoraMediaRecorder *remoteRecorder;
  26. @property(nonatomic, strong) NSString* uid;
  27. @property(nonatomic, strong) NSString* mTicket;
  28. @property(nonatomic, strong) NSString* mToken;
  29. @property(nonatomic, strong) NSString* roomId;
  30. @property(nonatomic, strong, nullable) NSTimer* mTimeoutTimer;
  31. - (void)initManager;
  32. - (void)clearManager;
  33. - (void)videoCallIn;
  34. - (void)videoCallOut:(NSString*)uid ticket:(NSString*)ticket;
  35. - (void)videoEnd:(BOOL)isCallIn isSendMessage:(BOOL)isSendMessage;
  36. - (void)videoAnswer;
  37. - (void)switchCamera;
  38. - (void)termWithSelf;
  39. - (void)termWithOther;
  40. - (void)termWithTimeout;
  41. //别人呼叫我,我拒接
  42. - (void)termWithRefuse;
  43. - (BOOL)isVideoTalking;
  44. - (NSString*)getTalkName;
  45. - (NSString*)getTalkHeadImageURL;
  46. @end
  47. NS_ASSUME_NONNULL_END