Bez popisu

RCTAgoraVideoView.m 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // RCTAgoraVideoView.m
  3. // RCTAgora
  4. //
  5. // Created by 邓博 on 2017/6/30.
  6. // Copyright © 2017年 Syan. All rights reserved.
  7. //
  8. #import "RCTAgoraVideoView.h"
  9. #import <React/RCTBridgeModule.h>
  10. @implementation RCTAgoraVideoView
  11. - (instancetype)init{
  12. if (self == [super init]) {
  13. _rtcEngine = [AgoraConst share].rtcEngine;
  14. _renderMode = AgoraVideoRenderModeHidden;
  15. }
  16. return self;
  17. }
  18. - (void)setRenderMode:(NSInteger)renderMode {
  19. _renderMode = renderMode;
  20. }
  21. - (void)setShowLocalVideo:(BOOL)showLocalVideo {
  22. _showLocalVideo = showLocalVideo;
  23. AgoraRtcVideoCanvas *canvas = [[AgoraRtcVideoCanvas alloc] init];
  24. if (_showLocalVideo) {
  25. canvas.uid = [AgoraConst share].localUid;
  26. canvas.view = self;
  27. canvas.renderMode = _renderMode;
  28. [_rtcEngine setupLocalVideo:canvas];
  29. }
  30. }
  31. -(void)setRemoteUid:(NSInteger)remoteUid {
  32. _remoteUid = remoteUid;
  33. AgoraRtcVideoCanvas *canvas = [[AgoraRtcVideoCanvas alloc] init];
  34. if (_remoteUid > 0) {
  35. canvas.uid = _remoteUid;
  36. canvas.view = self;
  37. canvas.renderMode = _renderMode;
  38. [_rtcEngine setupRemoteVideo:canvas];
  39. return;
  40. }
  41. }
  42. -(void) willMoveToSuperview:(UIView *)newSuperview {
  43. [super willMoveToSuperview:newSuperview];
  44. if (_remoteUid > 0) {
  45. [_rtcEngine setRemoteRenderMode:_remoteUid mode:_renderMode];
  46. } else {
  47. [_rtcEngine setLocalRenderMode:_renderMode];
  48. }
  49. }
  50. @end