评估连接速度的最佳方法

jDo*_*ens 34 networking android 3g android-wifi

我正在开发一个应用程序,需要通过流媒体播放音乐文件进行现场直播.

在请求歌曲api中,我可以指定带宽(例如:50kbps,100kbps,300,600或1Mbps).

bandwith越大,文件就越有时间获取.由于我不希望用户受到限制,因此我有多种选择来处理它:

  • 检测手机是否正在使用3g,wifi或Edge,并为每个连接速度指定带宽.

  • 让用户决定他将获得的歌曲的质量:像youtube(但用户不会是那些对计算有更多了解的人:软件越容易,它就越适合)

  • 有办法正确评估连接速度:就像获取文件一样,测量它所花费的时间并设置带宽.

我知道如果用户松开wifi,或者在街上使用3g移动,连接速度可能会有很大变化.而事实是,当歌曲播放时我无法改变带宽.

也许你有关于你想分享的经验?

谢谢!

jDo*_*ens 41

Facebook发布了一个图书馆:

https://github.com/facebook/network-connection-class

这在2011年不存在..


cod*_*ber 5

为什么不尝试改变你对事物的看法。尝试与您的用户一起流动。假设您的用户希望下载 128 kbit 质量的歌曲。你开始下载,同时下载你做一个平均下载时间,需要几秒钟让这个平均值稳定下来,如果它低于某个值,弹出一个窗口告诉用户他的连接对于当前带宽来说太慢并询问他是为了降低质量还是继续缓慢下载。

这会:

  1. 让用户可以选择始终假设他们可以获得最优质的媒体。
  2. 让您在运行时进行检查并在下载时相应地更改质量,而无需预先检查。
  3. 使您的应用程序对用户简单。

我知道我不是在回答您的具体要求,我只是提供不同的观点。