【问题标题】:determining internet speed in android确定android中的互联网速度
【发布时间】:2013-05-02 08:58:32
【问题描述】:

我正在开发一个 android 视频流应用程序,我必须检测互联网速度以根据该速度调整我的流质量。

我在网上搜索了如何在 android 中检测互联网速度,但我发现只有一种下载文件并知道其大小以确定带宽的方法:

 bandwidth = contentLength / ((endTime-startTime) *1000);

有没有其他可能的方法来确定 android 中的互联网带宽而不下载任何文件我不想通过额外的文件下载来干扰我的视频流

谢谢。

【问题讨论】:

  • 你如何流式传输视频,即。你使用什么协议?如果例如帧没有及时到达,则可以动态更改速度降低质量(使用 rtp/rtmp)
  • 我的意思是您正在下载帧,因此您可以使用您发布的适用于视频帧的方法来确定速度
  • 帧以我的本机代码(它是一个新的流协议)和我的本机代码(c++)下载,我无法访问有关我的设备的信息,所以我必须使用 java 来检测我的带宽
  • 新的流媒体协议?已经安装在安卓设备上?
  • 说来话长,它是一个新的流媒体协议,我已经集成到 aosp 中并通过我的新媒体播放器成功测试了它

标签: android monitor bandwidth


【解决方案1】:

如果您使用的是 2G、3G、4G,我认为没有标准的方法来找出,也许您可​​以自动假设 2G、3G 或 4G 很慢。 p>

如果您使用的是 wifi,那么您可以计算网速 使用 WifiManager class

WifiInfo wifiInformation = wifiManger.getConnectionInfo();

然后从 WifiInfo 中可以得到当前的速度:

int speedInMbpsSpeed = wifiInformation.getLinkSpeed();

【讨论】:

    猜你喜欢
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多