Browse Source

1.悬浮图标根据网络变化改变

huangxiaodong 1 year ago
parent
commit
636ae36ba1

BIN
创维盒子/双子星云手机/Assets.xcassets/Player/you_icon.imageset/悬浮1-gree@2x.png


BIN
创维盒子/双子星云手机/Assets.xcassets/Player/you_icon.imageset/悬浮1-gree@3x.png


+ 22 - 0
创维盒子/双子星云手机/Assets.xcassets/Player/you_red.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "you_red@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "you_red@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
创维盒子/双子星云手机/Assets.xcassets/Player/you_red.imageset/you_red@2x.png


BIN
创维盒子/双子星云手机/Assets.xcassets/Player/you_red.imageset/you_red@3x.png


+ 22 - 0
创维盒子/双子星云手机/Assets.xcassets/Player/you_yellow.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "you_yellow@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "you_yellow@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
创维盒子/双子星云手机/Assets.xcassets/Player/you_yellow.imageset/you_yellow@2x.png


BIN
创维盒子/双子星云手机/Assets.xcassets/Player/you_yellow.imageset/you_yellow@3x.png


+ 45 - 18
创维盒子/双子星云手机/webRtc/webRtcPlayerViewController.m

@@ -26,6 +26,7 @@
     BOOL isExitType;//退出云机
     
     NSInteger checkLinkTimerNumber;//0 --2 开始发起重连
+    NSInteger preDelayedMS;//记录上一次延时数据 控制controlBtn 的图片刷新 非必要 不刷新
 }
 @property (nonatomic, copy)   NSTimer      *playerSecondTimer; // 定时器-控制按钮
 @property (nonatomic, assign) RTCIceConnectionState linkState;
@@ -987,9 +988,9 @@
         if ([rtcStatistics.type isEqualToString:@"transport"]) {
             //HLog(@"传输数据---->%@",rtcStatistics.values);
             double timestamp     = rtcStatistics.timestamp_us;
-            NSNumber *bytesReceived = [rtcStatistics.values objectForKey:@"bytesReceived"];
+            NSNumber *bytesReceived = (NSNumber *)[rtcStatistics.values objectForKey:@"bytesReceived"];
             
-            NSNumber *packetsReceivedNumber = [rtcStatistics.values objectForKey:@"packetsReceived"];
+            NSNumber *packetsReceivedNumber = (NSNumber *)[rtcStatistics.values objectForKey:@"packetsReceived"];
             packetsReceived = [packetsReceivedNumber longValue];
             
             if (lastTimestamp > 0) {
@@ -1020,23 +1021,23 @@
                 lastBytesReceived = bytesReceived;
             }
             
-            selectedCandidatePairId = [rtcStatistics.values objectForKey:@"selectedCandidatePairId"];
+            selectedCandidatePairId = (NSString *)[rtcStatistics.values objectForKey:@"selectedCandidatePairId"];
             //HLog(@"三网数据--selectedCandidatePairId-->%@",selectedCandidatePairId);
         }
         
         /*丢包数据*/
         if ([rtcStatistics.type isEqualToString:@"inbound-rtp"]) {
-            NSString *kind = [rtcStatistics.values objectForKey:@"kind"];
+            NSString *kind = (NSString *)[rtcStatistics.values objectForKey:@"kind"];
             
             if([kind isEqualToString:@"video"]){
-                NSNumber*videolostDataNumber = [rtcStatistics.values objectForKey:@"packetsLost"];
+                NSNumber*videolostDataNumber = (NSNumber *)[rtcStatistics.values objectForKey:@"packetsLost"];
                 videolostData = [videolostDataNumber longValue];
                 
-                NSNumber*framesPerSecondNumber = [rtcStatistics.values objectForKey:@"framesPerSecond"];
+                NSNumber*framesPerSecondNumber = (NSNumber *)[rtcStatistics.values objectForKey:@"framesPerSecond"];
                 framesPerSecond = [framesPerSecondNumber integerValue];
             }
             else if([kind isEqualToString:@"audio"]){
-                NSNumber*audiolostDataNumber = [rtcStatistics.values objectForKey:@"packetsLost"];
+                NSNumber*audiolostDataNumber = (NSNumber *)[rtcStatistics.values objectForKey:@"packetsLost"];
                 audiolostData = [audiolostDataNumber longValue];
             }
         
@@ -1045,7 +1046,7 @@
         for (NSString *keyin in [rtcStatistics.values allKeys]) {
             if ([keyin isEqualToString:@"currentRoundTripTime"]){
                 /*延时数据*/
-                currentRoundTripTime = [rtcStatistics.values objectForKey:@"currentRoundTripTime"];
+                currentRoundTripTime = (NSNumber*)[rtcStatistics.values objectForKey:@"currentRoundTripTime"];
                   
                 //[self updateAutoRateAndNetWorkStatesWithDelatyMS:(NSInteger)currentRoundTripTime.floatValue*1000];
                 break;
@@ -1061,8 +1062,8 @@
             if ([rtcStatistics.type isEqualToString:@"candidate-pair"]){
                 NSString *tempselectedCandidatePairId = rtcStatistics.id;
                 if ([tempselectedCandidatePairId isEqualToString:selectedCandidatePairId]) {
-                    localCandidateId  = [rtcStatistics.values objectForKey:@"localCandidateId"];
-                    remoteCandidateId = [rtcStatistics.values objectForKey:@"remoteCandidateId"];
+                    localCandidateId  = (NSString *)[rtcStatistics.values objectForKey:@"localCandidateId"];
+                    remoteCandidateId = (NSString *)[rtcStatistics.values objectForKey:@"remoteCandidateId"];
 
 //                    HLog(@"三网数据--localCandidateId-->%@",localCandidateId);
 //                    HLog(@"三网数据--remoteCandidateId-->%@",remoteCandidateId);
@@ -1081,22 +1082,22 @@
                 if ([templocalCandidateId isEqualToString:localCandidateId]) {
                     //HLog(@"三网数据--localCandidateIdInfo-->%@",rtcStatistics.values);
                     localCandidateStr = @"本地\n";
-                    NSString *candidateType = [rtcStatistics.values objectForKey:@"candidateType"];
+                    NSString *candidateType = (NSString *)[rtcStatistics.values objectForKey:@"candidateType"];
                     if (candidateType) {
                         localCandidateStr = [localCandidateStr stringByAppendingString:[NSString stringWithFormat:@"candidateType:%@",candidateType]];
                         localCandidateStr = [localCandidateStr stringByAppendingString:@"\n"];
                     }
-                    NSString *address = [rtcStatistics.values objectForKey:@"address"];
+                    NSString *address = (NSString *)[rtcStatistics.values objectForKey:@"address"];
                     if (address) {
                         localCandidateStr = [localCandidateStr stringByAppendingString:[NSString stringWithFormat:@"address:%@",address]];
                         localCandidateStr = [localCandidateStr stringByAppendingString:@"\n"];
                     }
-                    NSString *ip = [rtcStatistics.values objectForKey:@"ip"];
+                    NSString *ip = (NSString *)[rtcStatistics.values objectForKey:@"ip"];
                     if (ip) {
                         localCandidateStr = [localCandidateStr stringByAppendingString:[NSString stringWithFormat:@"ip:%@",ip]];
                         localCandidateStr = [localCandidateStr stringByAppendingString:@"\n"];
                     }
-                    NSString *relatedAddress = [rtcStatistics.values objectForKey:@"relatedAddress"];
+                    NSString *relatedAddress = (NSString *)[rtcStatistics.values objectForKey:@"relatedAddress"];
                     if (relatedAddress) {
                         localCandidateStr = [localCandidateStr stringByAppendingString:[NSString stringWithFormat:@"relatedAddress:%@",relatedAddress]];
                         localCandidateStr = [localCandidateStr stringByAppendingString:@"\n"];
@@ -1107,22 +1108,22 @@
                 if ([tempRemoteCandidateId isEqualToString:remoteCandidateId]) {
                     //HLog(@"三网数据--remoteCandidateIdInfo-->%@",rtcStatistics.values);
                     remoteCandidateStr = @"远端\n";
-                    NSString *candidateType = [rtcStatistics.values objectForKey:@"candidateType"];
+                    NSString *candidateType = (NSString *)[rtcStatistics.values objectForKey:@"candidateType"];
                     if (candidateType) {
                         remoteCandidateStr = [remoteCandidateStr stringByAppendingString:[NSString stringWithFormat:@"candidateType:%@",candidateType]];
                         remoteCandidateStr = [remoteCandidateStr stringByAppendingString:@"\n"];
                     }
-                    NSString *address = [rtcStatistics.values objectForKey:@"address"];
+                    NSString *address = (NSString *)[rtcStatistics.values objectForKey:@"address"];
                     if (address) {
                         remoteCandidateStr = [remoteCandidateStr stringByAppendingString:[NSString stringWithFormat:@"address:%@",address]];
                         remoteCandidateStr = [remoteCandidateStr stringByAppendingString:@"\n"];
                     }
-                    NSString *ip = [rtcStatistics.values objectForKey:@"ip"];
+                    NSString *ip = (NSString *)[rtcStatistics.values objectForKey:@"ip"];
                     if (ip) {
                         remoteCandidateStr = [remoteCandidateStr stringByAppendingString:[NSString stringWithFormat:@"ip:%@",ip]];
                         remoteCandidateStr = [remoteCandidateStr stringByAppendingString:@"\n"];
                     }
-                    NSString *relatedAddress = [rtcStatistics.values objectForKey:@"relatedAddress"];
+                    NSString *relatedAddress = (NSString *)[rtcStatistics.values objectForKey:@"relatedAddress"];
                     if (relatedAddress) {
                         remoteCandidateStr = [remoteCandidateStr stringByAppendingString:[NSString stringWithFormat:@"relatedAddress:%@",relatedAddress]];
                         remoteCandidateStr = [remoteCandidateStr stringByAppendingString:@"\n"];
@@ -1175,12 +1176,38 @@
     
     mainBlock(^{
         if(weakSelf.playerSetV){
+            [weakSelf updateControlBtnBgImageWith:delayedMS];
             [weakSelf.playerSetV setWebRctMsgBydelayed:delayedMS withPacketLoss:lostDataStr withSpeed:netDataSpeedStr withFPS:FPSStr];
         }
     });
     
 }
 
+#pragma mark 更新悬浮图标的颜色
+- (void)updateControlBtnBgImageWith:(NSInteger)delayedMS{
+    if (delayedMS < 50) {
+        if(preDelayedMS > 0 && preDelayedMS < 50){
+            return;//没有变化 不处理
+        }
+        [controlBtn setBackgroundImage:[UIImage imageNamed:@"you_icon"] forState:(UIControlStateNormal)];
+    }
+    else if (delayedMS < 100){
+        if(preDelayedMS > 50 && preDelayedMS < 100){
+            return;//没有变化 不处理
+        }
+        [controlBtn setBackgroundImage:[UIImage imageNamed:@"you_yellow"] forState:(UIControlStateNormal)];
+    }
+    else{
+        if( preDelayedMS > 100){
+            return;//没有变化 不处理
+        }
+        [controlBtn setBackgroundImage:[UIImage imageNamed:@"you_red"] forState:(UIControlStateNormal)];
+    }
+    
+    preDelayedMS = delayedMS;
+}
+
+
 #pragma mark 收到的webrtc消息处理
 - (void)handleWebRtcMsgResponseBy:(NSData*)message
 {