Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <script>
- var streamerID = "DrachenLord_Offiziell";
- </script>
- <style>
- html, body {
- width: 100%;
- height: 100%;
- margin: 0px;
- padding: 0px;
- font-family: Segoe UI, Verdana, Helvecita, sans-serif;
- background: #000;
- }
- div {
- font-family: Segoe UI, Verdana, Helvecita, sans-serif;
- }
- #switcher {
- background: #aebcbf;
- background: -moz-linear-gradient(top, #aebcbf 0%, #6e7774 96%, #0a0809 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#aebcbf), color-stop(96%,#6e7774), color-stop(100%,#0a0809));
- background: -webkit-linear-gradient(top, #aebcbf 0%,#6e7774 96%,#0a0809 100%);
- background: -o-linear-gradient(top, #aebcbf 0%,#6e7774 96%,#0a0809 100%);
- background: -ms-linear-gradient(top, #aebcbf 0%,#6e7774 96%,#0a0809 100%);
- background: linear-gradient(to bottom, #aebcbf 0%,#6e7774 96%,#0a0809 100%);
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aebcbf', endColorstr='#0a0809',GradientType=0 );
- height: 38px;
- width:100%;
- }
- .input {
- float: left;
- color: #222;
- }
- input {
- margin-left: 5px;
- border-top: 1px solid #555;
- border-left: 1px solid #444;
- border-bottom: 1px solid #333;
- border-right: 1px solid #444;
- color: #fff;
- padding: 5px;
- height: 25px;
- border-radius: 6px;
- background: #2d2d2d;
- background: -moz-linear-gradient(top, #2d2d2d 5%, #565656 98%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(5%,#2d2d2d), color-stop(98%,#565656));
- background: -webkit-linear-gradient(top, #2d2d2d 5%,#565656 98%);
- background: -o-linear-gradient(top, #2d2d2d 5%,#565656 98%);
- background: -ms-linear-gradient(top, #2d2d2d 5%,#565656 98%);
- background: linear-gradient(to bottom, #2d2d2d 5%,#565656 98%);
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d2d2d', endColorstr='#565656',GradientType=0 );
- }
- input[type=button] {
- line-height: 5px;
- background: #565656;
- background: -moz-linear-gradient(top, #565656 2%, #2d2d2d 95%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(2%,#565656), color-stop(95%,#2d2d2d));
- background: -webkit-linear-gradient(top, #565656 2%,#2d2d2d 95%);
- background: -o-linear-gradient(top, #565656 2%,#2d2d2d 95%);
- background: -ms-linear-gradient(top, #565656 2%,#2d2d2d 95%);
- background: linear-gradient(to bottom, #565656 2%,#2d2d2d 95%);
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#565656', endColorstr='#2d2d2d',GradientType=0 );
- }
- input#streamerID {
- border-right: 0px !important;
- border-top-right-radius: 0px !important;
- border-bottom-right-radius: 0px !important;
- }
- input#connect {
- border-left: 1px #222 !important;
- border-top-left-radius: 0px !important;
- border-bottom-left-radius: 0px !important;
- margin-left: 0px !important;
- }
- #outer {
- height: calc(100% - 38px);
- }
- #switcher .info, #switcher .last {
- height: 27px;
- padding-top: 5px;
- padding-bottom: 5px;
- overflow: hidden;
- float: left;
- border-left: 1px solid #666;
- border-right: 1px solid #888;
- font-size: 10px;
- line-height: 11px;
- padding-left: 8px;
- padding-right: 8px;
- }
- #switcher #connectionInfo {
- font-size: 12px;
- padding-top: 11px;
- padding-bottom: 0px;
- height: 25px;
- font-weight: bold;
- }
- #switcher .last {
- border-right: 0px !important;
- line-height: 11px;
- }
- .info img, .last img {
- margin-right: 3px;
- }
- #connectionInfo img {
- float: left;
- }
- #chat {
- background: #333;
- width: 350px;
- height: 100%;
- float: right;
- }
- #chat #top {
- height: 20px;
- width: 100%;
- color: #eee;
- background: #444;
- padding: 3px;
- }
- #labelStreamer {
- font-size: 13px;
- }
- #stream {
- float: left;
- width: calc(100% - 350px);
- height: 100%;
- }
- #streamView
- {
- float: left;
- height: calc(100% - 50px);
- width: 100%;
- }
- #streamBar {
- float:left;
- clear:both;
- width: 100%;
- height: 49px;
- background: #666;
- border-top: 1px solid #999;
- }
- #streamBar .left
- {
- float: left;
- margin-left: 10px;
- }
- #streamBar .right
- {
- float: right;
- margin-right: 10px;
- }
- #streamBar .item {
- float: left;
- font-weight: bold;
- margin: 10px;
- color: #aaa;
- }
- #streamBar img {
- float: left;
- margin-right: 5px;
- }
- #chat ul {
- margin-left: 0px;
- padding-left: 0px;
- height: calc(100% - 10px);
- overflow-y: scroll;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 5px;
- }
- #chat ul li a {
- color: #eee;
- text-decoration: none;
- }
- #chat ul li {
- font-size: 11px;
- color: #999;
- float: left;
- clear: both;
- margin-left: 5px;
- margin-bottom:5px;
- padding-left: 0px;
- }
- #chat ul li span {
- display: block;
- float: left;
- clear: none;
- width: calc(100% - 60px);
- }
- #chat ul li img {
- margin-right: 5px;
- float: left;
- width: 30px;
- height: 30px;
- }
- </style>
- <script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
- <script src="http://js.pusher.com/2.2/pusher.min.js"></script>
- <script type="text/javascript" src="http://releases.flowplayer.org/js/flowplayer-3.2.13.min.js"></script>
- </head>
- <body>
- <script>
- /*
- ws://ws-younow.pusher.com/app/d5b7447226fc2cd78dbb?protocol=7&client=js&version=2.2.4&flash=false
- }*/
- </script>
- <div id="switcher">
- <div class="info">
- <div class="input"><span id="labelStreamer"></span> <input type="text" id="streamerID" /></div>
- <div class="input"><input type="button" id="connect" /></div>
- </div>
- <div class="info" id="connectionInfo"></div>
- <div class="last" id="streamerInfo"></div>
- </div>
- <div id="outer">
- <div id="stream">
- <div id="streamView"></div>
- <div id="streamBar"></div>
- </div>
- <div id="chat">
- <ul id="messages">
- </ul>
- </div>
- </div>
- <script>
- var streamerID = "DrachenLord_Offiziell";
- var YouNowPlayer = function()
- {
- this.language = this.config["language"]["de_DE"];
- $('#labelStreamer').html(this.language["streamer"]);
- $('#connect').val(this.language["connect"]);
- this.disconnected();
- var self = this;
- setInterval(function(){self.tick();}, 1000);
- };
- YouNowPlayer.prototype.connect = function(streamerID)
- {
- this.disconnect();
- $('#connectionInfo').html('<img src="'+this.config["icons"]["disconnected"]+'" />'+this.language["connecting"]);
- var self = this;
- $.ajax({
- url: 'http://www.younow.com/php/api/broadcast/info/curId=0/user='+streamerID,
- jsonp: "callback",
- dataType: "jsonp",
- success: function(json, b, c)
- {
- if (json["errorCode"] > 0)
- {
- self.failed("("+json["errorCode"]+") "+streamerID + " appears to be offline.");
- }
- else
- {
- self.connected(json);
- }
- }
- });
- };
- YouNowPlayer.prototype.disconnect = function()
- {
- if (this.pusher != null)
- this.pusher.disconnect();
- this.disconnected();
- };
- YouNowPlayer.prototype.disconnected = function()
- {
- $('#messages').html("");
- $('#streamView').html("");
- $('#streamBar').html("");
- $('#connectionInfo').html('<img src="'+this.config["icons"]["disconnected"]+'" />'+this.language["disconnected"]);
- $('#streamerInfo').html("");
- $('#top').html("");
- this.isConnected = false;
- };
- YouNowPlayer.prototype.streamerData = {};
- YouNowPlayer.prototype.connected = function(streamerData)
- {
- $('#connectionInfo').html('<img src="'+this.config["icons"]["connected"]+'" />'+this.language["connected"]);
- this.streamerData = streamerData;
- console.log(this.streamerData);
- var d = new Date();
- this.timeStart = d.getTime();
- this.duration = this.streamerData.length;
- this.isConnected = true;
- this.tick();
- flowplayer("streamView", "http://releases.flowplayer.org/swf/flowplayer-3.2.18.swf", {
- clip: {
- url: this.streamerData.media.stream,
- scaling: 'fit',
- provider: 'rtmp'
- },
- plugins: {
- rtmp: {
- url: "flowplayer.rtmp-3.2.13.swf",
- netConnectionUrl: 'rtmp://'+this.streamerData.media.host+this.streamerData.media.app
- },
- controls: {
- all: false,
- play: false,
- scrubber: false,
- mute: true,
- volume: true,
- fullscreen: true,
- }
- },
- canvas: {
- backgroundGradient: 'none'
- }
- });
- this.pusher = new Pusher('d5b7447226fc2cd78dbb', {cluster:"younow"});
- this.channel = this.pusher.subscribe("public-channel_"+this.streamerData.userId);
- var self = this;
- this.channel.bind('onLikes', function(data){
- self.streamerData.likes = data.message.likes;
- self.streamerData.viewers = data.message.viewers;
- });
- this.channel.bind('onViewers', function(data){
- self.streamerData.likes = data.message.likes;
- self.streamerData.viewers = data.message.viewers;
- });
- this.channel.bind('onChat', function(data){
- for (i = 0; i < data.message.comments.length; i++)
- self.addChatMessage(data.message.comments[i]);
- });
- };
- YouNowPlayer.prototype.addChatMessage = function(message)
- {
- var wasBottom = false;
- if ($("#messages").scrollTop() > $("#messages")[0].scrollHeight - $("#messages").height() - 20)
- wasBottom = true;
- if ($('#messages').children().length > this.config.maxMessages - 1)
- $('#messages').children()[0].remove();
- $('#messages').append('<li><img src="http://cdn2.younow.com/php/api/channel/getImage/?channelId='+message.userId+'" height="30" /><span><strong><a href="http://www.younow.com/'+message.profileUrlString+'">'+message.name+' ('+message.userLevel+')</a>: </strong>'+message.comment+'</span></li>');
- if (wasBottom)
- {
- $("#messages").animate({ scrollTop: $("#messages")[0].scrollHeight}, 200)
- }
- };
- YouNowPlayer.prototype.updateInfo = function()
- {
- var socialMedia = "";
- if (this.streamerData.user["facebookId"] != null)
- socialMedia += "<a href=\"http://www.facebook.com/"+this.streamerData.user.facebookId+"\"><img src=\""+this.config.icons.facebook+"\"></a>";
- if (this.streamerData.user["facebookUrl"] != null)
- socialMedia += "<a href=\""+this.streamerData.user.facebookUrl+"\"><img src=\""+this.config.icons.facebook+"\"></a>";
- if (this.streamerData.user["twitterHandle"] != null)
- socialMedia += "<a href=\"http://www.twitter.com/"+this.streamerData.user.twitterHandle+"\"><img src=\""+this.config.icons.twitter+"\"></a>";
- if (this.streamerData.user["youTubeUserName"] != null)
- socialMedia += "<a href=\"http://www.youtube.com/"+this.streamerData.user.youTubeUserName+"\"><img src=\""+this.config.icons.youtube+"\"></a>";
- $('#streamerInfo').html("<img style=\"float:left;\" height=\"28\" src=\"http://cdn2.younow.com/php/api/channel/getImage/?channelId="+this.streamerData['userId']+"\" />"+this.streamerData.country + " | <strong>"+this.streamerData.username+"</strong> ("+this.streamerData.user.userLevel+" | "+(Math.round((this.streamerData.userlevel%1)*100))+"% "+this.language["to"]+" "+(this.streamerData.user.userLevel+1)+") "+this.language["in"]+" #"+this.streamerData.tags[0]+"<br /><div style=\"float:left;\">"+socialMedia+"</div><div style=\"float:left;\"><img style=\"float:left;\" height=\"16\" src=\""+this.config.icons.coins+"\"><span style=\"margin-top:3px;float:left;\">"+this.streamerData.coins+"</span></div> <div style=\"margin-left:5px; float:left;\"><img style=\"float:left;\" height=\"16\" src=\""+this.config.icons.bars+"\"><span style=\"margin-top:3px;float:left;\">"+this.streamerData.barsEarned+"</span></div> ");
- $('#top').html(this.streamerData.viewers + " "+this.language["viewers"]);
- var hours = Math.floor(this.duration / (60 * 60));
- var minutes = Math.floor(this.duration / (60)) % 60;
- var seconds = this.duration % 60;
- var time = "";
- if (hours > 0) time += hours + ":";
- if (minutes > 9) time += minutes + ":";
- else time += "0"+minutes+":";
- if (seconds > 9) time += seconds;
- else time += "0"+seconds;
- $('#streamBar').html("<div class=\"left\"><div class=\"item\"><img src=\""+this.config.icons.likes+"\" />"+this.streamerData.likes+"</div><div class=\"item\"><img src=\""+this.config.icons.shares+"\" />"+this.streamerData.shares+"</div></div><div class=\"right\"><div class=\"item\"><img src=\""+this.config.icons.time+"\" />"+time+"</div><div class=\"item\"><img src=\""+this.config.icons.views+"\" />"+this.streamerData.viewers+"</div></div>");
- }
- YouNowPlayer.prototype.failed = function(error)
- {
- this.disconnected();
- alert(error);
- };
- YouNowPlayer.prototype.tick = function() {
- if (this.isConnected)
- {
- var d = new Date();
- this.duration = this.streamerData.length + Math.floor((d.getTime() - this.timeStart) / 1000);
- this.updateInfo();
- }
- };
- YouNowPlayer.prototype.isConnected = false;
- YouNowPlayer.prototype.config = {
- maxMessages: 200,
- icons: {
- "disconnected": "http://png.findicons.com/files/icons/1581/silk/16/disconnect.png",
- "connected": "http://png.findicons.com/files/icons/1581/silk/16/connect.png",
- "youtube": "http://icons.iconarchive.com/icons/dakirby309/windows-8-metro/16/Web-Youtube-alt-2-Metro-icon.png",
- "facebook": "http://icons.iconarchive.com/icons/danleech/simple/16/facebook-icon.png",
- "twitter": "http://icons.iconarchive.com/icons/dakirby309/windows-8-metro/16/Web-Twitter-alt-2-Metro-icon.png",
- "googleplus": "http://icons.iconarchive.com/icons/dakirby309/windows-8-metro/16/Web-Google-plus-alt-Metro-icon.png",
- "bars": "http://cdn2.younow.com/angularjsapp/src/assets/images/icons_v3/icon_bar_sm.png",
- "coins": "http://cdn2.younow.com/angularjsapp/src/assets/images/icons_v3/menu_user_coins1.png",
- "views": "http://icons.iconarchive.com/icons/custom-icon-design/mono-general-4/24/eye-icon.png",
- "time": "http://icons.iconarchive.com/icons/icons8/windows-8/24/Very-Basic-Clock-icon.png",
- "likes": "http://icons.iconarchive.com/icons/icons8/windows-8/24/Hands-Thumbs-Up-icon.png",
- "shares": "http://icons.iconarchive.com/icons/icons8/ios7/24/Very-Basic-Electric-Megaphone-Filled-icon.png",
- },
- language: {
- "de_DE": {
- "disconnected": "Nicht verbunden",
- "connecting": "Verbinden...",
- "connected": "Verbunden",
- "connect": "Verbinden",
- "streamer": "Streamer:",
- "to": "bis",
- "in": "in",
- "chat": "Chat",
- "users": "Benutzer",
- "viewers": "Zuschauer",
- "moderators": "Moderator(en)",
- "shares": "Teilung(en)",
- "likes": "Like(s)",
- }
- }
- };
- var currentPlayer = null;
- $(document).ready(function() {
- currentPlayer = new YouNowPlayer();
- $('#streamerID').val(streamerID);
- $('#connect').click(function(){
- currentPlayer.connect($('#streamerID').val());
- });
- });
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement