Как я могу проверить, есть ли у 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');
}
Однако этот метод может иметь проблемы совместимости с некоторыми браузерами. Смотрите: Совместимость браузера