2018-09-22 19:28:28 +02:00
|
|
|
<html>
|
|
|
|
<head>
|
2018-12-09 17:29:49 +01:00
|
|
|
<meta charset="utf-8"/>
|
2018-12-09 17:46:04 +01:00
|
|
|
<title>TDT Channels - Marc Vila</title>
|
2018-12-26 18:18:24 +01:00
|
|
|
|
|
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-27327609-3"></script>
|
|
|
|
<script src="./analytics.js"></script>
|
|
|
|
|
2018-09-22 19:28:28 +02:00
|
|
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/clappr@latest/dist/clappr.min.js"></script>
|
2018-12-13 16:11:47 +01:00
|
|
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
|
|
|
|
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
|
|
|
|
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
|
2018-12-09 09:00:47 +01:00
|
|
|
|
2018-12-13 16:11:47 +01:00
|
|
|
<script src="./index.js"></script>
|
2018-12-16 23:00:59 +01:00
|
|
|
<link href="./styles.css" rel="stylesheet" type="text/css">
|
2018-12-09 09:00:47 +01:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
2018-09-22 19:28:28 +02:00
|
|
|
</head>
|
|
|
|
<body>
|
2019-02-03 19:25:20 +01:00
|
|
|
<div id="container" class="container" style="margin-top: 30px">
|
2019-02-03 20:33:20 +01:00
|
|
|
<h1 id="titleh1" class="display-4">TDTChannels</h1>
|
2019-02-03 18:49:20 +01:00
|
|
|
<br>
|
|
|
|
<a class="btn btn-outline-secondary" role="button" href="https://github.com/LaQuay/TDTChannels"
|
|
|
|
target="_blank">Repositorio TDT Channels</a>
|
|
|
|
<a class="btn btn-outline-success" role="button" href="http://www.marcvila.me/"
|
|
|
|
target="_blank">Marc Vila</a>
|
|
|
|
<a class="btn btn-outline-warning" role="button" href="https://github.com/LaQuay/"
|
|
|
|
target="_blank">GitHub</a>
|
|
|
|
<a class="btn btn-outline-primary" role="button" href="https://www.linkedin.com/in/marcvilagomez/"
|
|
|
|
target="_blank">LinkedIn</a>
|
|
|
|
<div class="row" style="margin-top: 40px;">
|
|
|
|
<div class="col-xs-4 col-md-4">
|
2019-02-03 19:10:08 +01:00
|
|
|
<input id="searchInput" class="form-control" type="text" onkeyup="filterChannelsList()"
|
|
|
|
placeholder="Search..." style="margin-bottom: 1px">
|
|
|
|
<div id="channel-list" class="list-group channels-list"></div>
|
2019-02-03 18:30:36 +01:00
|
|
|
</div>
|
2019-02-03 18:49:20 +01:00
|
|
|
<div class="col-xs-8 col-md-8">
|
2019-02-03 18:30:36 +01:00
|
|
|
<div id="video">
|
|
|
|
<p class="lead">
|
|
|
|
Reproductor de Televisión
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<div class="input-group mb-3">
|
|
|
|
<input id="input-reproduccion-video" type="text" class="form-control"
|
|
|
|
placeholder="URL de reproducción">
|
|
|
|
<div class="input-group-append">
|
|
|
|
<button class="btn btn-outline-secondary" type="button" id="button-reproduccion-video"
|
|
|
|
onclick="loadItem('video');">Cargar
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="video-player"></div>
|
|
|
|
<div id="video-information" class="shadow-sm p-3 mb-5 bg-white rounded" style="margin-top: 15px">
|
|
|
|
<p class="lead">Información de la reproducción</p>
|
|
|
|
Formatos soportados
|
|
|
|
<br>
|
|
|
|
<em>m3u8</em>
|
|
|
|
<br><br>
|
|
|
|
Resoluciones disponibles
|
|
|
|
<br>
|
|
|
|
<em id="video-resolution"></em>
|
|
|
|
<p id="extra-video-info" style="display: block"></p>
|
2019-03-24 18:47:35 +01:00
|
|
|
<div id="option-buttons"></div>
|
2018-12-09 01:15:31 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
2019-02-03 18:30:36 +01:00
|
|
|
<div id="audio" style="margin-top: 15px">
|
|
|
|
<p class="lead">
|
|
|
|
Reproductor de Radio
|
|
|
|
</p>
|
|
|
|
<div class="input-group mb-3">
|
|
|
|
<input id="input-reproduccion-audio" type="text" class="form-control"
|
|
|
|
placeholder="URL de reproducción">
|
|
|
|
<div class="input-group-append">
|
|
|
|
<button class="btn btn-outline-secondary" type="button" id="button-reproduccion-audio"
|
|
|
|
onclick="loadItem('audio');">Cargar
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<audio id="audio-controller" controls autoplay="">
|
|
|
|
<source id="audio-player" src="" type="audio/mpeg">
|
|
|
|
Your browser does not support the audio element.
|
|
|
|
</audio>
|
|
|
|
<div id="audio-information" class="shadow-sm p-3 mb-5 bg-white rounded" style="margin-top: 15px">
|
|
|
|
<p class="lead">Información de la reproducción</p>
|
|
|
|
Formatos soportados
|
|
|
|
<br>
|
|
|
|
<em>aac</em>, <em>mp3</em>, <em>nsv</em>, <em>audio/mpeg</em>, <em>pls</em>(Beta)
|
|
|
|
|
|
|
|
<div id="extra-audio-info-div" style="display: none; padding-top: 20px">
|
|
|
|
<button class="btn btn-secondary" type="button" data-toggle="collapse"
|
|
|
|
data-target="#collapseAlternativas"
|
|
|
|
aria-expanded="false" aria-controls="collapseAlternativas">
|
|
|
|
URLs alternativas
|
|
|
|
</button>
|
|
|
|
<div class="collapse" id="collapseAlternativas">
|
|
|
|
<div class="card card-body">
|
|
|
|
<p id="extra-audio-info"></p>
|
|
|
|
</div>
|
2018-12-26 11:19:14 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-12-13 16:11:47 +01:00
|
|
|
</div>
|
2018-12-09 01:15:31 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-12-13 19:21:15 +01:00
|
|
|
|
|
|
|
<div class="navbar fixed-bottom container">
|
|
|
|
<div class="alert alert-warning alert-dismissible fade show" role="alert">
|
|
|
|
<em><strong>Nota</strong>: Esta web está diseñada únicamente para comprobar el funcionamiento con los canales
|
|
|
|
del repositorio. Queda fuera del objetivo algún otro uso. El usuario es el responsable del
|
|
|
|
uso que se le da a la web.</em>
|
|
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
|
|
|
<span aria-hidden="true">×</span>
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-09-22 19:28:28 +02:00
|
|
|
<script>
|
2019-02-03 18:30:36 +01:00
|
|
|
var player;
|
|
|
|
|
|
|
|
var typeToReproduce = getUrlParameter("type");
|
|
|
|
var channelToReproduce;
|
|
|
|
if (typeToReproduce == "audio") {
|
|
|
|
channelToReproduce = getUrlParameter("channel");
|
|
|
|
reproduceAudio(channelToReproduce);
|
|
|
|
} else if (typeToReproduce == "video") {
|
|
|
|
channelToReproduce = getUrlParameter("channel");
|
|
|
|
reproduceVideo(channelToReproduce);
|
|
|
|
}
|
|
|
|
|
|
|
|
loadChannelsInList();
|
2018-09-22 19:28:28 +02:00
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|