@@ -776,17 +776,6 @@ - (void)onUserEnter:(NSString *)userId {
776
776
[self .view addSubview: remoteView];
777
777
[_remoteViewDic setObject: remoteView forKey: userId];
778
778
779
- // 启动远程画面的解码和显示逻辑,FillMode 可以设置是否显示黑边
780
- if (!self.enableCustomVideoCapture ) {
781
- [_trtc startRemoteView: userId view: remoteView];
782
- [_trtc setRemoteViewFillMode: userId mode: TRTCVideoFillMode_Fit];
783
- }
784
- else {
785
- // 测试自定义渲染
786
- [_trtc setRemoteVideoRenderDelegate: userId delegate: _customVideoRenderTester pixelFormat: TRTCVideoPixelFormat_NV12 bufferType: TRTCVideoBufferType_PixelBuffer];
787
- [_customVideoRenderTester addUser: userId videoView: remoteView];
788
- [_trtc startRemoteView: userId view: nil ];
789
- }
790
779
// 将新进来的成员设置成大画面
791
780
_mainViewUserId = userId;
792
781
@@ -831,40 +820,27 @@ - (void)onUserAudioAvailable:(NSString *)userId available:(BOOL)available
831
820
832
821
- (void )onUserVideoAvailable : (NSString *)userId available : (BOOL )available
833
822
{
834
- // if (available) {
835
- // TRTCVideoView *remoteView = [TRTCVideoView newVideoViewWithType:VideoViewType_Remote userId:userId];
836
- // remoteView.delegate = self;
837
- // [remoteView setBackgroundColor:UIColorFromRGB(0x262626)];
838
- // [self.view addSubview:remoteView];
839
- // [_remoteViewDic setObject:remoteView forKey:userId];
840
- //
841
- // // 启动远程画面的解码和显示逻辑,FillMode 可以设置是否显示黑边
842
- // [_trtc startRemoteView:userId view:remoteView];
843
- // [_trtc setRemoteViewFillMode:userId mode:TRTCVideoFillMode_Fit];
844
- // // 将新进来的成员设置成大画面
845
- // _mainViewUserId = userId;
846
- //
847
- // }
848
- // else {
849
- // UIView *playerView = [_remoteViewDic objectForKey:userId];
850
- // [playerView removeFromSuperview];
851
- // [_remoteViewDic removeObjectForKey:userId];
852
- //
853
- // NSString* subViewId = [NSString stringWithFormat:@"%@-sub", userId];
854
- // UIView *subStreamPlayerView = [_remoteViewDic objectForKey:subViewId];
855
- // [subStreamPlayerView removeFromSuperview];
856
- // [_remoteViewDic removeObjectForKey:subViewId];
857
- //
858
- // // 如果该成员是大画面,则当其离开后,大画面设置为本地推流画面
859
- // if ([userId isEqual:_mainViewUserId] || [subViewId isEqualToString:_mainViewUserId]) {
860
- // _mainViewUserId = _selfUserID;
861
- // }
862
- //
863
- // }
864
- // [self relayout];
865
- TRTCVideoView* videoView = [_remoteViewDic objectForKey: userId];
866
- [videoView showVideoCloseTip: !available];
867
-
823
+ if (userId != nil ) {
824
+ TRTCVideoView* remoteView = [_remoteViewDic objectForKey: userId];
825
+ if (available) {
826
+ // 启动远程画面的解码和显示逻辑,FillMode 可以设置是否显示黑边
827
+ if (!self.enableCustomVideoCapture ) {
828
+ [_trtc startRemoteView: userId view: remoteView];
829
+ [_trtc setRemoteViewFillMode: userId mode: TRTCVideoFillMode_Fit];
830
+ }
831
+ else {
832
+ // 测试自定义渲染
833
+ [_trtc setRemoteVideoRenderDelegate: userId delegate: _customVideoRenderTester pixelFormat: TRTCVideoPixelFormat_NV12 bufferType: TRTCVideoBufferType_PixelBuffer];
834
+ [_customVideoRenderTester addUser: userId videoView: remoteView];
835
+ [_trtc startRemoteView: userId view: nil ];
836
+ }
837
+ }
838
+ else {
839
+ [_trtc stopRemoteView: userId];
840
+ }
841
+
842
+ [remoteView showVideoCloseTip: !available];
843
+ }
868
844
869
845
NSLog (@" onUserVideoAvailable:userId:%@ alailable:%u " , userId, available);
870
846
0 commit comments