Browse Source

1.webrtc 推拉流 wifi 8M. 4G 4M

huangxiaodong 7 months ago
parent
commit
f9ea888074
1 changed files with 50 additions and 1 deletions
  1. 50 1
      创维盒子/双子星云手机/webRtc/webRtcPlayerViewController.m

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

@@ -182,6 +182,13 @@
         cardDensity = 320;
     }
     
+    //码率根据网络设置 wifi 8M 移动网络 4M
+    NSInteger bitrate = 8*1024;
+    
+    if([AFNetworkReachabilityManager sharedManager].isReachableViaWWAN){
+        bitrate = 4*1024;
+    }
+    
     NSInteger result = [_mediaStream start:url
                             ice:ice
                              sn:roomName
@@ -190,7 +197,7 @@
                      videoWidth:(NSInteger)phoneSize.width
                     videoHeight:(NSInteger)phoneSize.height
                             fps:30
-                        bitrate:8*1024//3200//3000
+                        bitrate:bitrate//3200//3000
                       cardWidth:(NSInteger)phoneSize.width//0//1080//0
                      cardHeight:(NSInteger)phoneSize.height//0//1920//0
                     cardDensity:0
@@ -797,6 +804,8 @@
     
     //输入密码完成
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didInpuPwdOkFun) name:didInputPWDNotification object:nil];
+    
+    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange:)  name:NetWorkChangeNotification        object:nil];
 }
 
 - (void)removeKVOObserverFun
@@ -832,6 +841,46 @@
     }
 }
 
+#pragma - mark - 监听网络变化
+- (void)networkStateChange:(NSNotification *)notification
+{
+    /*处理*/
+    KWeakSelf
+    switch ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus)
+    {
+        case AFNetworkReachabilityStatusUnknown:/*网络状态未知*/
+        {
+            ;
+        }
+            break;
+        case AFNetworkReachabilityStatusNotReachable:/*网络不可用*/
+        {
+  
+        }
+            break;
+        case AFNetworkReachabilityStatusReachableViaWWAN:/*流量*/
+        {
+            mainBlock(^{
+                [weakSelf.mediaStream setMaxBitrate:[NSNumber numberWithInteger:4*1024]];
+            });
+            
+        }
+            break;
+        case AFNetworkReachabilityStatusReachableViaWiFi:/*WiFi*/
+        {
+            mainBlock(^{
+                [weakSelf.mediaStream setMaxBitrate:[NSNumber numberWithInteger:8*1024]];
+            });
+            
+        }
+            break;
+            
+        default:
+            break;
+    }
+
+}
+
 #pragma mark 监听到云机的宽高以及屏幕方向
 - (void)handlUIAfterGetCloudPhoneVideoWidth:(int)videoWidth videoHeight:(int)videoHeight rotation:(int)rotation
 {