Как я могу проверить, есть ли у Samsung Smart TV подключение к Интернету?

Мне нужно знать, доступно ли подключение к Интернету, прежде чем воспроизводить видео. Как я могу получить это?

var url = 'http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4';
//url not found (no Internet)
player.Play(url);

Теперь этот код работает неправильно. Игрок начинает играть, но у нас нет интернета. Как я могу быть уверен, что у меня есть подключение к Интернету?

//pseudo code
if (player.checkInternet){
 player.Play(url);
}else{
 alert('Error');
}

3 ответа

Чтобы проверить подключение HTTP, вы можете использовать следующую функцию: http://samsungdforum.com/Guide/ref00011/deviceapi_network_checkhttp.html

Но если для плеера у него есть некоторые функции обратного вызова для обработки сетевых ошибок, посетите документацию по объекту плеера и посмотрите onConnectionFailed, onStreamNotFound и т. Д. Http://samsungdforum.com/Guide/ref00014/sef_plugin_player.html

Я использую эту функцию JavaScript, чтобы проверить сеть на телевизоре Samsung

Main.CheckConnection = function () {
    //  if(gKeyValues.IsOnTV){
    //  Main.Print("Production environment-------");
    /* For Production Environment */
    var physicalConnection = 0,
    httpStatus = 0;
    var currentInterface = networkPlugin.GetActiveType();
    // If no active connection.
    if (currentInterface == -1) {   //wired=1,wireless=0,no connection=-1
        return false;
    }
    // Check physical connection of current interface.
    physicalConnection = networkPlugin.CheckPhysicalConnection(currentInterface);
    //  Main.Print("Network Status: " + physicalConnection);

    // If not connected or error.
    if (physicalConnection != 1) {
        //Main.okDialog_Init("Message");
        Main.Print("Network disconnected");
        //  Main.IsNetworkActive = false;
        return false;
    }
    // Check HTTP transport.
    httpStatus = networkPlugin.CheckHTTP(currentInterface);
    // If HTTP is not avaliable.
    if (httpStatus != 1) {
        alert("Network disconnected");
        Main.IsNetworkActive = false;
        return false;
    }
    Main.IsNetworkActive = true;
    return true;
    //  }
};

И включите этот плагин в свою HTML-страницу

<object id="pluginObjectNetwork" border=0 classid="clsid:SAMSUNG-INFOLINK-NETWORK" style="width: 0px; height: 0px;"></object>

Пожалуйста, измените эту функцию в соответствии с вашими требованиями. Эта функция решает все проблемы, связанные с сетью и интернетом в Samsung.

Вы можете проверить статус соединения с:

if (navigator.onLine) {
    player.Play(url);
} else {
    alert('Error');
}

Однако этот метод может иметь проблемы совместимости с некоторыми браузерами. Смотрите: Совместимость браузера

Другие вопросы по тегам