2012-10-05 7 views
8

Czy ktoś może zasugerować obsługę słabej sieci podczas przesyłania strumieniowego wideo w widoku sieciowym?Jak sprawdzić wolną/niską sieć w aplikacji ios?

Gdy poziom sieci jest słaby, pojawia się pusty ekran lub wideo nie jest przesyłane strumieniowo.

Czy istnieje sposób na wykrycie tego stanu, abyśmy mogli ostrzec użytkownika? (Poza używaniem prywatnego API.)

+1

Po to jest przeznaczony HLS, nie? Musisz podać pliki o różnych przepływnościach. aby nie musieć wykrywać warunków sieciowych i automatycznie zmienia się automatycznie na niskie wersje czarno-białe. Działa zarówno strumieniowo w aplikacji internetowej, jak i na urządzeniu. – av501

Odpowiedz

1

Być może ifi_baudrate członek struktury if_data (zadeklarowanej w <net/if.h>) jest tym, czego potrzebujesz. Jeśli szybkość transmisji jest mniejsza niż pewna wartość progowa, możesz wyświetlić alert. proszę zobaczyć następującą odpowiedź wiedzieć, jak uzyskać strukturę if_data dla danego interfejsu sieciowego: https://stackoverflow.com/a/8014012/1310204

0

można łatwo wykryć stan połączenia sieciowego poprzez HTML5 sieciowych API http://www.html5rocks.com/en/mobile/optimization-and-performance/#toc-network-detection

Także jeśli chcesz przetestować szybkość sieci, po prostu skonfiguruj kilka plików na serwerze o określonym rozmiarze i wykonaj żądanie ajax dla pliku, a czas, jak długo trwa pobieranie.

można wykorzystywać proste:

var start = new Date(); 

$.get("someFile.jpg") 
    .done(function() { 
       var elapsed = (new Date() - start); 
    }); 

albo kopać w wydajności API HTML5:

http://www.html5rocks.com/en/tutorials/webperformance/basics/

... jeśli nie przy użyciu javascript, to samo dotyczy. Wystarczy otworzyć połączenie sieciowe ze wszystkim, co jest do dyspozycji, pobrać niewielki plik & do matematyki ;-)

Powiązane problemy