2013-05-02 91 views
2

我正在開發一個android視頻流應用程序,我必須檢測互聯網速度以根據該速度調整我的流品質。在android中確定互聯網速度

我一直在尋找如何檢測的Android上網速度的網,但我發現下載文件,並知道它的大小來確定帶寬只有一個方法:

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

是否有任何其他可能的方式確定互聯網帶寬android在沒有下載任何文件我不想打擾我的視頻流通過額外的文件下載

謝謝。

+1

你是如何流視頻,即。你使用什麼協議?改變速度可以動態完成,如果幀沒有及時到達降低質量(使用rtp/rtmp) – brendosthoughts 2013-05-02 09:05:02

+0

我的意思是你正在下載幀,所以你可以使用你發佈的適應幀的方法來確定sppeds從您的視頻 – brendosthoughts 2013-05-02 09:11:09

+0

幀以我的本地代碼(其新的流媒體協議)和我的本地代碼(C++)下載我無法訪問有關我的設備的信息,因此我必須使用java來檢測我的帶寬 – 2013-05-02 09:20:25

回答

1

如果您使用的是2G,3G,4G,我認爲沒有標準的查找方式,也許您可​​以自動假設2G,3G或4G速度較慢。

如果您在使用Wi-Fi,那麼你可以使用WifiManager class

WifiInfo wifiInformation = wifiManger.getConnectionInf O()計算的互聯網速度 ;

然後從WifiInfo就可以得到當前的速度:

int speedInMbpsSpeed = wifiInformation.getLinkSpeed();