最近要做直播,虽然项目还没动工,但是SDK和Demo已经到了。所以先来动手看一下上传速度和下载速度,也就是在直播中,我们说的推流速度和观看速度。
一、
推流速度就是,当我是主播的时候,send的速度,;
观看速度,即当我是观众的时候,received的速度。
二、用到的工具:
BHBNetworkSpeed
三、步骤:
1、直接去google一下BHBNetworkSpeed,会在gitHub上搜到的,下载下来,它会有demo,我们在运行的时候会发现,它打印的时候不管什么速度都是0.
这是因为它在AppDelegate里面,没有设window,所以我们的屏幕是黑的,上面只有一个电池,并且这个demo也没有在当前页面里面做什么事情,所以速度都是0.
2、回到我们自己的项目,然后在Build Phases的下面,找到Link Binary With Libraries,点击加号,导入SystemConfiguration.framework。
3、将我们刚刚在gitHub上下的demo里面的类BHBNetworkSpeed,拖到我们自己的项目中去。
4、然后我们要监测哪个页面的上传速度和下载速度(比如我要监测的就是我直播界面的推流速度),就去到那个控制器,然后在viewDidLoad中:
//开启监听
[[BHBNetworkSpeedshareNetworkSpeed]startMonitoringNetworkSpeed];
//注册下载网速通知
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(log)name:kNetworkReceivedSpeedNotificationobject:nil];
//注册上传网速通知
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(log)name:kNetworkSendSpeedNotificationobject:nil];
(可以直接把这3句代码copy到你的项目中)
5、在下面实现通知里面的方法:
- (void)log{
NSLog(@"speed+++++received:%@",[BHBNetworkSpeedshareNetworkSpeed].receivedNetworkSpeed);
NSLog(@"speed+++++send:%@",[BHBNetworkSpeedshareNetworkSpeed].sendNetworkSpeed);
}
6、关闭监听
-(void)viewWillDisappear:(BOOL)animated{
//关闭监听
[[BHBNetworkSpeedshareNetworkSpeed]stopMonitoringNetworkSpeed];
}
四、结果
通过以上的步骤,我们就可以在我们需要的界面,读到想要的速度。
如,我运行出来,打印的推流速度,约在240kb/s左右: