.titleBar { margin-bottom: 5px!important; }

StreamOnTV - Quellcode für eigenes Portal

Dieses Thema im Forum "IP-TV" wurde erstellt von rolandino, 26 Okt. 2006.

  1. rolandino

    rolandino Neuer User

    Registriert seit:
    26 Okt. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    erst einmal riesen kompliment. Was ihr bisher auf die Beine gestellt habt, ist wirklich klasse. Jetzt kann die Box schon fast alles, was ich mir gewünscht habe :p

    Um das ganze besser zu netzuen, würde ich mir auf Basis des bestehenden Portals gerne ein eigenes bauen. Wäre es möglich, dass ihr die PHP-Dateien etc. veröffentlicht? Selbstverständlich bringe ich evtl. Verbesserungen aus meinen Versuchen gerne wieder als Quellcode ein.

    Gruß,
    rolandino
     
  2. NEELIXThomas

    NEELIXThomas SOT-Team

    Registriert seit:
    31 März 2006
    Beiträge:
    2,150
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    da gibt es ein Problem, die scripte fürs Portal sind sehr mit den Tools und Scripts meiner anderen Projekte (funktionsaufrufe etc.) auf meinem Webserver verzahnt (modularer Aufbau), die scripte möchte ich deshalb ungern herausgeben da dann im Grunde mein halber Webserver offen liegt und auf diesem nicht nur Private Projekte sondern auch Berufliche gehostet sind. Ich hoffe Du hast dafür verständnis. Der Sourcecode für den Client wird demnächst als OpenSource zur Verfügung stehen.

    Trotzdem stehe ich Dir natürlich gerne zur seite wenn Du fragen hast oder Hilfe brauchst.
     
  3. noller

    noller Neuer User

    Registriert seit:
    14 Dez. 2006
    Beiträge:
    21
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Eigenes Portal

    Hallo Neelix,

    also erstmal auch von mir ein großes Kompliment. Mit der Software steigert sich der Anwendungsbereich der Box wirklich erheblich.

    Ich habe jetzt auch schon Experimente mit einem eigenen Portal gemacht. Das klappt mit HTML und etwas Javascript auch ganz gut, nur kriege ich den Media Player nicht dazu sich ordentlich zu integrieren. Er springt bei Anwahl mit einer Playlist immer in der Vordergrund und ist dann mit der Fernbedienung leider nicht mehr zu kontrollieren - er spielt dann nur noch die Playlist immer und immer wieder (bis man ihn mit Maus oder Tastatur stoppt) :confused: .

    Ich habe in deinem SOT-Portal gesehen, daß Du dort mit einem Objekt mit ID "player" hantierst - das will aber bei mir nicht das machen, was es soll :noidea:

    Wie kann ich erreichen, daß der Player startet mit folgenden Eigenschaften:

    - x/y Koordinate
    - Größe
    - mit oder ohne Bedienfeld
    - nur einmal spielt (keine Wiederholung)
    - und natürlich mit der Playlist, die ich vorgebe...

    Ich glaube, das würde mir jetzt schon ziemlich viel helfen, danke.

    Markus
     
  4. NEELIXThomas

    NEELIXThomas SOT-Team

    Registriert seit:
    31 März 2006
    Beiträge:
    2,150
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    uff soviele fragen auf einmal

    die x/y koordinate löse ich indem ich den player in ein layer packe, dieses kannst du dann über die style.left und style.top auf der seite verschieben
    größe des player über player.width und player.height
    controlfeld müßte ich mal nachesehen wie der Befehl geheißen hat
    playlist müßtest du vorher erstellen und dann mit der eigenschaft SRC einbinden
     
  5. Semenchkare

    Semenchkare Mitglied

    Registriert seit:
    9 Feb. 2006
    Beiträge:
    635
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    @noller

    Hi Noller,

    ich habe mich auch schon heftig versucht, aus Neelix's Portal ein vernünftiges eigenes -ganz ohne PHP- hin zu bekommen. Bis zur Version 0.3 hat es auch geklappt und danach hatte ich das gleiche Problem wie Du auch.
    Ich bekomme zwar den Video-Layer hin. Mit "0" vergrössern lässt sich das ganze, aber rauskommen tue ich nicht. Mit Exit hat man das Problem, dass in 90% aller Fälle die Abfrage nach dem Beenden des SOT-Clients kommt. Klickt man "nein" - ist man wieder im Vollbild.
    Seit der heutigen 0.7-Version ist die Chance, dass man mit "Exit" raus kommt, wieder etwas besser, aber noch nicht befriedigend.

    Ich habe Neelix Portal wirklich studiert und verglichen, aber ich komme nicht auf meinen?? Fehler. Vermutlich wird da irgend was vom SOT-Client verbogen, was dann die "0" nicht mehr wirken lässt.
    Ich schau morgen noch mal nach...

    Gruss

    Seme
     
  6. NEELIXThomas

    NEELIXThomas SOT-Team

    Registriert seit:
    31 März 2006
    Beiträge:
    2,150
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    poste mir mal den Quellcode und ich schau mal durch ob ich den Fehler finden kann
     
  7. Semenchkare

    Semenchkare Mitglied

    Registriert seit:
    9 Feb. 2006
    Beiträge:
    635
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Neujahrsgruss / Quellcode

    Hallo Neelix,

    zunächst mal ein frohes und gesundes neues Jahr 2007!
    Hier der abgeänderte Code. Die System.css bzw. images habe ich von Dir übernommen.
    So könnte man diese .html - sofern das mit der "0" auch noch funktioniert, ja evtl. in Dein Zip für das "eigene Portal" mit aufnehmen. So könnetn dann die User sich selbst einfach Links für die Thomson anlegen.

    Viele Grüsse
    Seme

    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <script>
    var ScreenObject='';
    var SelectedClipGlobal='';
    var SelectedClipRowGlobal='';
    var LastSelectedMenueItem;
    var VidPlayerFullScreen=0;
    function ChangeObjectNavMenueHtml(HtmlCode)
    {
    		var tObjectMenue= document.getElementById("ObjectMenue");
    		tObjectMenue.innerHTML=HtmlCode;
    }
    var sObjectsContainer = new Array();
    function CopysObjectContainer(tsObjectC)
    {
    	sObjectsContainer=tsObjectC;
    }
    function OpenMiniBrowser()
    {
    	var lObject=document.getElementById('MiniBrowser');
    	var urlObject=document.getElementById('URLEingabe');
    	lObject.style.visibility="visible";
    	document.getElementById('MiniBrowserUrlButton').focus();
    	var oPlayerFrame=document.getElementById('VideoLayer');
    	oPlayerFrame.innerHTML="<img src=\"images/streamsontvlogo.jpg\" width=\"260\" height=\"190\">";
        ScreenObject='web';
    	if(urlObject.value=="")
    	{
    		urlObject.value="http://www.google.de";
    		GotoURL();
    	}
    }
    function toogleMiniBrowserWindowVisibleState()
    {
    		var lObject=document.getElementById('MiniBrowser');
    		var urlObject=document.getElementById('URLEingabe');
    		if(lObject.style.visibility=="visible")
    		{
    			lObject.style.visibility="hidden";
    		}
    		else
    		{
    			OpenMiniBrowser();
    		}			
    }
    function ShowURLLeiste()
    {
    	var UrlHoehe=50;
    	var TabHoehe=520;
    	var MainTabID= document.getElementById("MobileWindow");
    	var DUrlBarID= document.getElementById("URLLayer");
    	var URLPosID=document.getElementById("URLPos");
    	if(URLPosID.innerHTML=="")
    	{
    		MainTabID.height=TabHoehe-UrlHoehe;
    		URLPosID.innerHTML=DUrlBarID.innerHTML;
    		DUrlBarID.innerHTML="";	
    	}
    	else
    	{
    		MainTabID.height=TabHoehe;
    		DUrlBarID.innerHTML=URLPosID.innerHTML;
    		URLPosID.innerHTML="";		
    	}
    }
    function GotoURL()
    {
    	// var DUrlBar=document.getElementById("URLEingabe");
    	MobileWindow.location.href=document.getElementById("URLEingabe").value;
    	var URLPosID=document.getElementById("URLPos");
    	//alert(document.getElementById("URLEingabe").value);
    }
    function ViewObjectPos(ObjName, MenueID)
    {
    		var tObjectMenue= document.getElementById(ObjName);
    		var lObject= document.getElementById('SelectVisualMarker');
    		var lObjectTab= document.getElementById('ObjAuswahlTab');
    		var fObjectTab= document.getElementById('FileInfoFrame');
    		var uObjectTab= document.getElementById('SelectVisualMarkerUnten');
    		var tuObjectTab= document.getElementById('MarkerUntenTabBegin');
    		var cObjInfoKurzBeschreibung= document.getElementById('SOKurzBeschreibung');
    		
    		lObject.style.top=tObjectMenue.offsetTop+(tObjectMenue.offsetHeight/2)+"px";
    		// document.getElementById('DebugKeyPress').innerHTML=tObjectMenue.offsetTop+'-'+lObjectTab.offsetHeight+'-'+lObject.style.top;
    		lObject.style.height=lObjectTab.offsetHeight-(tObjectMenue.offsetTop+(tObjectMenue.offsetHeight/2))+"px";
    		uObjectTab.style.height=fObjectTab.offsetHeight/2+"px";
    		ciObjectTab.style.width=fObjectTab.offsetWidth-10+"px";
    		lObject.style.visibility="visible";
    		uObjectTab.style.visibility="visible";
    		ciObjectTab.style.visibility="visible";
    }
    var ShutDownCounter=5;
    var ShutDownInProgress=0;
    function BreakSTBShutDownTimer()
    {
    	ShutDownInProgress=0;
    	var lObject= document.getElementById("STBShutDownLayer");
    	lObject.style.visibility="hidden";
    }
    function StartSTBShutDown()
    {
    	ShutDownCounter=6;
    	ShutDownInProgress=1;
    	var bObject= document.getElementById("STBShutdownBreakButton");
    	var tObject= document.getElementById("STBShutDownCounterText");
    	tObject.innerHTML=''+ShutDownCounter+' sek.<br>';		
    	window.setTimeout('TimerSTBShutDown()', 1000);
    	var lObject= document.getElementById("STBShutDownLayer");
    	lObject.style.visibility="visible";
    	bObject.focus();
    }
    function TimerSTBShutDown()
    {
    	if(ShutDownInProgress==1)
    	{
    		ShutDownCounter--;
    		var tObject= document.getElementById("STBShutDownCounterText");
    		tObject.innerHTML=''+ShutDownCounter+' sek.<br>';		
    		if(ShutDownCounter<0)
    		{
    			ShutDownSTB();
    		}
    		window.setTimeout('TimerSTBShutDown()', 1000);
    	}
    }
    function ShutDownSTB()
    {
    	document.getElementById('STBSystemCtrl').shutdown();
    }
    function jumpPlayerTime(t){
    	var player = document.getElementById('player');
    	var pos = player.CurrentPosition;
    	pos = pos + t < 0 ? 0 : pos + t;
    	player.CurrentPosition = pos;
    }
    function ChangePlayerVolume(i)
    {
    	var player = document.getElementById('player');
    	var vol = player.Volume;
    	player.Volume=player.Volume+i;
    }
    function TimerPlayerStatusBar()
    {
    	var player = document.getElementById('player');
    	if(player.PlayState!=2)
    	{
    		document.getElementById('player').ShowStatusBar=1;
    	}
    	else
    	{
    		if(player.ShowControls!=1)
    		{
    			document.getElementById('player').ShowStatusBar=0;
    		}
    	}
    	//window.setTimeout('TimerPlayerStatusBar()', 500);
    }
    window.setTimeout('TimerPlayerStatusBar()', 500);
    
    var VidControlsVisible=0;
    function toogleVidControls()
    {
    	if(VidControlsVisible==0)
    	{
    		document.getElementById('player').ShowControls=1;
    		document.getElementById('player').ShowStatusBar=1;
    		VidControlsVisible=1;
    	}
    	else
    	{
    		document.getElementById('player').ShowControls=0;
    		document.getElementById('player').ShowStatusBar=0;
    		VidControlsVisible=0;
    	}
    }
    var ClipFunctionsVisible=0;
    function ToogleClipFunctions()
    {
    	lObject=document.getElementById('layerClipFunctions');
    	if(ClipFunctionsVisible==0 & SelectedClipGlobal!='')
    	{
    		lObject.style.visibility="visible";
    		document.getElementById('layerClipFunctions').style.zIndex=999;
    		ClipFunctionsVisible=1;
    	}
    	else
    	{
    		document.getElementById('layerClipFunctions').style.zIndex=0;
    		lObject.style.visibility="hidden";
    		ClipFunctionsVisible=0;
    	}
    }
    function ShowMessageBox(MessageText)
    {
    	document.getElementById('MessageBoxLayer').style.visibility="visible";
    	document.getElementById('MessageBoxText').innerHTML=MessageText;
    	document.getElementById('MessageBoxLayer').style.zIndex=999;
    	document.getElementById('MessageBoxOKButton').focus();	
    }
    function HideMessageBox()
    {
    	document.getElementById('MessageBoxLayer').style.visibility="hidden";
    	document.getElementById('MessageBoxLayer').style.zIndex=0;
    }
    function HideNeuesFormatLayer()
    {
    	document.getElementById('NeuesFormatLayer').style.visibility="hidden";
    }
    function ShowClipFunctionsLayer()
    {
    	document.getElementById('ClipFunctionsLayer').style.visibility="visible";
    }
    function HideClipFunctionsLayer()
    {
    	document.getElementById('ClipFunctionsLayer').style.visibility="hidden";
    }
    function toggleImageFullscreen()
    {
    	var oImageLayer=document.getElementById('WebCamImageFullScreenLayer');
    	if(oImageLayer.style.visibility=="hidden")
    	{
    		oImageLayer.style.visibility="visible";
    	}
    	else
    	{
    		oImageLayer.style.visibility="hidden";
    	}
    }
    function toogleVidPlayerFullscreen()
    {
    		if(VidPlayerFullScreen==0)
    		{
    			var lObject=document.getElementById('VideoLayer');
    	
    			lObject.style.left=0;
    			lObject.style.top=0;
    			lObject.style.height='100%';
    			lObject.style.width=740;
    			var oPlayer = document.getElementById("player");
    			oPlayer.width=720;
    			oPlayer.height=576;
    			oPlayer.width=720;
    			//alert(oPlayer.height + " --- " + oPlayer.width + " ---- " + lObject.style.width + " ---- " + lObject.style.height);
    			lObject.style.zIndex=999;
    			VidPlayerFullScreen=1;
    		}
    		else
    		{
    			var lObject=document.getElementById('VideoLayer');
    	
    			lObject.style.left=395;
    			lObject.style.top=65;
    			lObject.style.height=190;
    			lObject.style.width=260;
    			var oPlayer = document.getElementById("player");
    			oPlayer.width=260;
    			oPlayer.height=190;
    			lObject.style.zIndex=999;
    			VidPlayerFullScreen=0;		
    		}	
    }
    var RefreshCounter=0;
    var ImageRefreshTimerActive=0;
    function TimerWebCamImageRefresh()
    {
    	var Link="";
    	var jetzt = new Date();
    	var Std = jetzt.getHours();
    	var Min = jetzt.getMinutes();
    	var Sec = jetzt.getSeconds();
    	var StdAusgabe = ((Std < 10) ? "0" + Std : Std);
    	var MinAusgabe = ((Min < 10) ? "0" + Min : Min);
    	var oImage= document.getElementById("ImageViewerImage");
    	var oImageFullscreen= document.getElementById("WebCamImageFullscreen");
    	if(sObjectsContainer[SelectedClipRowGlobal]["ImageRefresh"]==0)
    	{
    		sObjectsContainer[SelectedClipRowGlobal]["ImageRefresh"]=60;
    	}
    	//alert(sObjectsContainer[SelectedClipRowGlobal]["ImageRefresh"]);
    	RefreshCounter++;
    	Link=sObjectsContainer[SelectedClipRowGlobal]["link"]+"?void="+Std+Min+Sec+RefreshCounter+".jpg";
    	if(ImageRefreshTimerActive==1)
    	{
    		RefreshCounter++;
    		oImage.src=Link;			
    		oImageFullscreen.src=oImage.src;
    		window.setTimeout('TimerWebCamImageRefresh()', (sObjectsContainer[SelectedClipRowGlobal]["ImageRefresh"]*1000));
    	}
    }
    function KeyUp(e){
    				if(!e)e=window.event;
    				document.getElementById('DebugKeyPress').innerHTML=e.keyCode;
    				switch(e.keyCode)
    				{		
    					case 111:
    						// StartSTBShutDown();
    						break;
    					
    					case 46:
    						// ToogleClipFunctions();
    						break;
    				}
    
    				if(ScreenObject=='web')
    				{
    					switch(e.keyCode)
    					{						
    						case 114:
    							//alert('0');
    							history.back();
    							break;
    				
    						case 181:
    							//alert('0');
    							toogleMiniBrowserWindowVisibleState();
    							break;				
    					}
    				}
    
    				if(ScreenObject=='image')
    				{
    					switch(e.keyCode)
    					{						
    						case 48:
    							//alert('0');
    							toggleImageFullscreen();
    							break;
    				
    						case 49:
    							//alert('0');
    							ToogleClipFunctions();
    							break;				
    	
    						case 35:
    							ShowArtikelInfoLayer();
    							e.keyCode=0;
    							break;
    
    						case 113:
    							ToogleClipFunctions();
    							e.keyCode=0;
    							break;
    
    						case 46:
    							//alert('121');
    							ShowBrokenLinkLayer();
    							break;
    							
    						case 17:
    							StartClipBewertungsLayer();
    							break;
    
    						case 182:
    							ShowNeuesFormatLayer();
    							break;
    					}
    				}
    				
    				if(ScreenObject=='vid')
    				{
    					switch(e.keyCode)
    					{		
    						case 35:
    							ShowArtikelInfoLayer();
    							e.keyCode=0;
    							break;
    
    						case 113:
    							ToogleClipFunctions();
    							e.keyCode=0;
    							break;
    
    						case 46:
    							//alert('121');
    							ShowBrokenLinkLayer();
    							break;
    							
    						case 17:
    							StartClipBewertungsLayer();
    							break;
    
    						case 182:
    							ShowNeuesFormatLayer();
    							break;
    
    						case 49:
    							//alert('0');
    							ToogleClipFunctions();
    							break;
    							
    						//case 46:
    						//	ToogleClipFunctions();
    						//	break;
    											
    						case 48:
    							//alert('0');
    										toggleFullscreen();
    							break;
    							
    						case 177:
    							jumpPlayerTime(-60);
    							break;
    						
    						case 176:
    							jumpPlayerTime(60);
    							break;
    	
    						case 33:
    							document.getElementById('player').Pause();
    							break;
    	
    						case 179:
    							document.getElementById('player').Play();
    							break;
    			
    						case 109:
    							toogleVidControls();
    							break;		
    							
    						case 35:
    							ChangePlayerVolume(-100);
    							break;
    						
    						case 36:
    							ChangePlayerVolume(100);
    							break;	
    					}
    				}								
    			}
    document.onkeyup = KeyUp;			
    	</script>
    <title>StreamsOnTv- XX's Portal</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="system.css" rel="stylesheet" type="text/css">
    <style type="text/css">
    <!--
    a:visited {
    	color: #FFFFFF;
    }
    a:hover {
    	color: #FF0000;
    }
    a:active {
    	color: #FF0000;
    }
    -->
    </style>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_reloadPage(init) {  //reloads the window if Nav4 resized
      if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
      else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);
    //-->
    </script>
    </head>
    
    <body class="MainWindowBackground" body MS_POSITIONING="GridLayout" scroll=0>
    <div id="VideoLayer" style="position:absolute; z-index:1; left: 0px; top: 0px; background-color: #000000; layer-background-color: #FFFF00; border: 1px none #000000; width: 720px; height: 576px; visibility: hidden; overflow: visible;"> 
       <img src="images/streamsontvlogo.jpg" width="260" height="190"></div>
    <div id="main" style="position:absolute; width:721px; height:534px; z-index:0; overflow: hidden; left: 0; top: 0;">
      <table width="720" border="0"  id='menu'>
        <tr>
          <td width="30" valign="top">0</td>
          <td width="120" height="50">
              </td>
          <td><div id="DebugKeyPress" style="position:absolute; width:34px; height:32px; z-index:1; left: 644px; top: 72px;" class="SeitenZahlen"></div>
             </td>
          <td width="5">&nbsp;</td>
        </tr>
        <tr>
          <td width="30"></td>
          <td width="120" height="2"></td>
          <td></td>
          <td width="5"></td>
        </tr>
        <tr>
          <td width="30" valign="top">&nbsp;</td>
          <td width="120" valign="top"><div id="NavTable">      
        <table id="table1"><tr><td>
          &nbsp;</td></tr><tr><td>
          <a href="http://streamsontv.de">SOT-Portal</a></td></tr><tr><td>
            <font color="#FEE034">Streams</font><br></td></tr></table>
    		</div></td>
          <td height="400" valign="top"><style type="text/css">
    <!--
    .transparent {
    	filter: Alpha(Opacity=1, FinishOpacity=1, Style=1, StartX=1, StartY=1, FinishX=1, FinishY=1);
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 1px;
    }
    .ClipDisplayStyleName {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 16px;
    	font-weight: bold;
    	color: #CCCCCC;
    }
    .Tabline1px {
    	border: 1px dotted #66FF00;
    }
    .TabClips {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12px;
    	color: #FFFFFF;
    	font-weight: bold;
    	width:230px;
    	overflow: auto;	
    }
    .ClipBeschreibung {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 15px;
    	color: #FFFFFF;
    }
    .Stil3 {font-size: 2px}
    -->
    </style>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_reloadPage(init) {  //reloads the window if Nav4 resized
      if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
      else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);
    //-->
    </script>
    <script language="JavaScript" type="text/JavaScript">
    function ChangeStream(StreamAdress, ClipNameText, ClipBeschreibung, ClipStichworte, format, ObjID)
    {
    				var oPlayer = document.getElementById("player");
    				var DisplayClipName= document.getElementById("ClipName");
    				var DisplayClipBeschreibung= document.getElementById("ClipBeschreibung");
    				var DisplayClipStichworte= document.getElementById("ClipStichworte");
    				var oImageViewerLayer= document.getElementById("ImageViewerLayer");
    				var oImageLayer=document.getElementById('WebCamImageFullScreenLayer');
    				
    				//oPlayer.stop();
    				DisplayClipName.innerHTML=ClipNameText;
    				DisplayClipBeschreibung.innerHTML=ClipBeschreibung;
    				DisplayClipStichworte.innerHTML=ClipStichworte;
    
    					
    				var lObject=document.getElementById('VideoLayer');
    				var oImage= document.getElementById("ImageViewerImage");
    				oImage.style.visibility="hidden";
    				lObject.style.visibility="hidden";
    				//alert(sObjectsContainer[StreamID]["format"]);
    				if(format=="webcam")
    				{
    					var oImageFullscreen= document.getElementById("WebCamImageFullscreen");
    					RefreshCounter=0;
    					ImageRefreshTimerActive=1;
    					TimerWebCamImageRefresh();
    					oImage.style.visibility="visible";				
    					oImageViewerLayer.style.visibility="visible";
    					ScreenObject='image';
    					oImageLayer.style.visibility="hidden";
    					// player.PlayState=0;
    					//alert(sObjectsContainer[StreamID]["link"]+"\n"+oImage.src);
    				}
    				else if(format=="web")
    				{
    					var lObject=document.getElementById('MiniBrowser');
    					var urlObject=document.getElementById('URLEingabe');
    					urlObject.value=StreamAdress;
    					OpenMiniBrowser();
    					GotoURL();
    				}
    				else
    			{
    					lObject.style.visibility="visible";
    					lObject.style.left='400px';
    					lObject.style.top='70px';
    					lObject.style.height='190px';
    					lObject.style.width='260px';					
    					lObject.style.zIndex=999;
    					oImageLayer.style.visibility="hidden";
    					oImageViewerLayer.style.visibility="hidden";
    					//oPlayer.filename = sObjectsContainer[StreamID]["link"];
    					//oPlayer.SRC = sObjectsContainer[StreamID]["link"];
    					ScreenObject='vid';
    					RefreshCounter=0;
    					ImageRefreshTimerActive=0;
    
    					var oPlayerFrame=document.getElementById('VideoLayer');
    					var PlayerHtml;
    					PlayerHtml="<object ID=\"player\" onfocus=\"document.getElementById(\'fullscreenbutton\').focus();\" CLASSID=\"CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95\" HEIGHT=\"190\" WIDTH=\"260\" codebase=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=,1,52,701  standby=\"Loading Microsoft Windows Media Player components...\" ></p>";
    					PlayerHtml=PlayerHtml+"\n"+"<param name=\"ShowControls\" value=\"False\"  />";
    					PlayerHtml=PlayerHtml+"\n"+"<param name=\"DisplaySize\" value=\"4\"  />";
    					PlayerHtml=PlayerHtml+"\n"+"<param name=\"TransparentAtStart\" value=\"False\"  />";
    					PlayerHtml=PlayerHtml+"\n"+"<PARAM NAME=\"AutoStart\" VALUE=\"True\">";
    					//PlayerHtml=PlayerHtml+"\n"+"<PARAM NAME=\"FileName\" VALUE=\""+sObjectsContainer[StreamID]["link"]+"\">";
    					PlayerHtml=PlayerHtml+"\n"+"<embed SRC=\""+StreamAdress+"\" type=\"application/x-mplayer2\" pluginspage=\"http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/\" AUTOPLAY=\"true\" CONTROLLER=\"true\" cache=\"false\" WIDTH=\"260\" HEIGHT=\"190\">";
    					PlayerHtml=PlayerHtml+"\n"+"</embed></object>";
    					oPlayerFrame.innerHTML=PlayerHtml;
    					
    					var oPlayer = document.getElementById("player");
    					oPlayer.width=260;
    					oPlayer.height=190;
    					
    					oPlayer2=document.getElementById('player');
    					oPlayer2.filename = StreamAdress;
    					oPlayer2.play();
    				}
    }
    function ChangeObjectMenueHtml(HtmlCode)
    {
    		var tObjectMenue= document.getElementById("ObjectMenue");
    		tObjectMenue.innerHTML=HtmlCode;
    }
    function ScrollToObject(tObj)
    {
    	var Obj = document.getElementById(tObj);
    	Obj.scrollIntoView(true);
    }
    function NullAction()
    {
    
    }
    </script>
    <div id="contentSize" class="menu_off" style="white-space:nowrap; POSITION:absolute; TOP:0px; width:0px; height:18px; visibility:hidden"></div>
    	<div id="safeArea">
    		<div id="waitscreen">
    			<div id="waitmessage"></div>
    		</div>
    		
    		<!-- begin shutdown message -->
            <div id="offscreen">
              <div id="offmessage">
                <div><span id="offcounter"></span></div>
                <div class="menu_on" id="offbutton"></div>
              </div>
            </div>
            <!-- end shutdown message -->
    <style>
    .borderOn{border: 4px solid #5C5C5C;}
    .borderOff{border: 4px solid #444444;}
    </style>
     
      <form action="" method="post" name="Form2" class="transparent" id="Form2">
    <input type="hidden" name="__VIEWSTATE" value="dDwtNzcxNTY2NjQxOzs+Y/iU2vg3OsR2fz93lC7Z3pBkzYg=" />
    <table border="0" cellspacing="1" cellpadding="0">
      <tr>
        <td valign="top"></td>
        <td></td>
            <td><a href="#" class="Stil3" id="fullscreenbutton" onFocus="LastSelectedMenueItem.focus();" onClick="javascript:toggleFullscreen()">0=FULLSCREEN</a></td>
      </tr>
      <tr>
        <td width="230" valign="top"><table width="100%" height="320"  border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td valign="top"><div align="left" id="ObjectMenue">
      <div align="left">
    						<img border="0" src="images/video.gif" width="17" height="17">
    						<a href="javascript:ChangeStream('mms://stream.n-tv.de/ntvlive',%20'N-TV',%20'Nachrichten',%20'News','mpg');">
    						N-TV</a></div>
    			</div></td>
            </tr>
            <tr>
              <td height="20" valign="top">&nbsp;</td>
            </tr>
          </table></td>
        <td>&nbsp;</td>
        <td valign="top"><div id="PlayerFrame_bak">  <img src="images/streamsontvlogo.jpg" width="260" height="190"><br>
        </div>         
          <table width="100%" height="122"  border="0" cellpadding="0" cellspacing="1" class="Tabline1px">
      <tr>
        <td valign="top" class="ClipDisplayStyleName" id="ClipName"></td>
      </tr>
      <tr>
        <td valign="top" class="TabClips">Beschreibung:<div id="ClipBeschreibung" class="ClipBeschreibung"></div></td>
      </tr>
      <tr>
        <td valign="top" class="TabClips">Stichworte:<div id="ClipStichworte" class="ClipBeschreibung"></div></td>
      </tr>
    </table></td>
      </tr>
    </table>
    
    	<script>
    	var error = false;
    	var chapters = new Array();
    	</script>
    
    
    	<script>
    
    var _UNLOADED = 0;
    var _LOADING = 1;
    var _PLAYING = 2;
    var _FFWD = 3;
    var _RWD = 4;
    var _PAUSED = 5;
    
    var state = _UNLOADED;
    
    				function Init() {
    				
    				//formContainer = new ObjDivContainer('formContainer', page_content, null, null, null, null);
    			
    				// loadPage();
    			
    				// document.pageKeyHandler = pageKeyHandler;
    				
    			
    				var player = document.getElementById("player");
    				player.filename = "";
    						
    			}
    			
    			/**
    				create pagekeyhandling just for this page
    				return true on the page to pass control back up to the default handler
    			*/
    			
    			// Key navigation for the side menu
    			function pageKeyHandler(e){
    				if(!e)e=window.event;
    				var player = document.getElementById('player');
    				var bf = document.getElementById('menu');
    				switch(e.keyCode){
    					case _KEY_RIGHT:
    						goRight();
    						break;
    					case _KEY_LEFT:
    						goLeft();
    						break;
    					case _KEY_UP:
    						globalCurContainer.goUp();
    						break;
    					case _KEY_DOWN:
    						bf.goDown(true);
    						break;	
    						
    					// video controls
    					case _KEY_REV:
    						state = _RWD;
    						player.Rate = -4;
    						break;
    					case _KEY_PLAY:
    						state = _PLAYING;
    						player.Play();
    						player.Rate = 1;
    						break;
    					case _KEY_FWD:
    						state = _FFWD;
    						player.Rate = 4;
    						break;
    					case _KEY_STOP:
    						state = _UNLOADED;
    						manualVideoStop = true;
    						gotoPage('javascript:history.back();');
    						break;
    					case _KEY_PAUSE:
    						state = _PAUSED;
    						player.Pause();
    						break;
    					case 73:
    					case _KEY_INFO:
    					case _KEY_MENU:
    						toggleFullscreen();
    						break;
    					case _KEY_OK:
    						bf.focus();
    						if(fullscreen){
    							toggleFullscreen();
    							return false;
    						}
    						break;
    						
    				}
    				return true;
    			}
    			
    			var displaySize = 8;
    			// Create the side menu buttons
    
    			
    			
    			var fullscreen = false;
    			function toggleFullscreen(){
    				fullscreen = !fullscreen;
    				var player = document.getElementById('player');
    				var bf = document.getElementById('menu');
    				
    				if(player.DisplaySize == 4){
    					// document.forms[0].keycatcher.focus();
    					player.DisplaySize = 3;
    					//bf.focus();
    				}else{
    					player.DisplaySize = 4;
    					fullscreenbutton.focus();
    					LastSelectedMenueItem.focus();
    				}
    			}
    			
    			function setFocus(){
    				if(fullscreen){
    					// document.forms[0].keycatcher.focus();
    				}
    			}
    			
    			function jumpPlayerTime(t){
    				var player = document.getElementById('player');
    				var pos = player.CurrentPosition;
    				pos = pos + t < 0 ? 0 : pos + t;
    				player.CurrentPosition = pos;
    			}
    			
    	</script>
    	<div id="page_content">
    		<script>
    			var enableFullScreenStartup = false;
    		</script>
    		<script>
    			ScreenObject='vid';
    		</SCRIPT>
    	</div>
    </form>
    
    
    </div>
    	          <div id="STBShutDownLayer" style="position:absolute; width:273px; height:130px; z-index:2; left: 248px; top: 270px; visibility: hidden;" class="ShutdownLayer">
                <div id="Layer2" style="position:absolute; width:193px; height:106px; z-index:1; left: 37px; top: 9px;">
                  <div align="center">
                    <div class="ShutDownText">Die Box wird in </div>
                    <div id="STBShutDownCounterText" class="ShutDownText"></div>
                    <div class="ShutDownText">abgeschaltet </div>
                    <br>
                    <table width="100" border="0" cellspacing="0" cellpadding="0">
                      <tr>
                        <td class="BreakButton"><div align="center"><a href="javascript:BreakSTBShutDownTimer();" id="STBShutdownBreakButton">abbrechen</a></div></td>
                      </tr>
                    </table>
                  </div>
                </div>
                <img src="images/shutdownbackground.gif" width="269" height="127"></div>
              
              <div id="MessageBoxLayer" style="position:absolute; width:273px; height:130px; z-index:4; left: 248px; top: 270px; visibility: hidden;" class="ShutdownLayer">
                <div id="Layer2" style="position:absolute; width:243px; height:106px; z-index:5; left: 10px; top: 9px;">
                  <div align="center">
                    <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                      <tr>
                        <td height="80"><div align="center">
                            <div class="ShutDownText" id="MessageBoxText"></div>
                        </div></td>
                      </tr>
                      <tr>
                        <td><table width="50" border="0" align="center" cellpadding="0" cellspacing="1">
                            <tr>
                              <td class="BreakButton" width="50"><div align="center"><a href="javascript:HideMessageBox();" id="MessageBoxOKButton">OK</a></div></td>
                            </tr>
                        </table></td>
                      </tr>
                    </table>
                  </div>
                </div>
                <img src="images/shutdownbackground.gif" width="269" height="127"></div>
              <div id="layerClipFunctions" style="position:absolute; width:269px; height:119px; z-index:3; left: 400px; top: 310px; background-color: #0A51A1; layer-background-color: #0A51A1; border: 1px none #000000; visibility: hidden;">
                          </div>
              
            <div id="ImageViewerLayer" style="position:absolute; width:260px; height:185px; z-index:9; left: 395px; top: 61px; visibility: hidden;"><img id="ImageViewerImage" src="images/website.gif" width="100%"></div></td>
          <td width="5" valign="top">&nbsp;</td>
        </tr>
      </table>
      
    <div id="MiniBrowser" name="MiniBrowser" style="position:absolute; width:716px; height:450px; z-index:1; left: 20px; top: 0px; visibility: hidden;"> 
      <table width="710" border="0" cellpadding="0" cellspacing="1" bgcolor="#003366">
        <tr> 
          <td height="10" id="MainTab"> 
        
          </td>
          <td height="10" valign="top"></td>
          <td width="50" height="10"></td>
        </tr>
        <tr> 
          <td width="20" align="right" valign="top"><p><a href="javascript:ShowURLLeiste();" id="MiniBrowserUrlButton">
    		U<br>
            R<br>
            L</a><br>
             <br>
            <p>&nbsp;</p>
            <p><a href="javascript:history.back();">
    		  &lt;<br>
              B<br>
              A<br>
              C<br>
              K<br>
              &lt;<br></a>
              <br><a href="javascript:GotoURL();">
              &lt;<br>
              H<br>
              O<br>
              M<br>
              E<br>
              &lt;<br></a>
              <p>
              <br><a href="javascript:toogleMiniBrowserWindowVisibleState();">
              <br>
              &lt;<br>
              M<br>
              E<br>
              N<br>
              U<br>
              E<br>
              &lt;<br>
          </a></p></td>
          <td valign="top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
              <tr> 
                <td height="0"><div id="URLPos"></div></td>
              </tr>
              <tr> 
                <td> 
                                <div id="URLLayerL" style="position:absolute; width:598px; height:13px; z-index:1; left: 66px; top: 39px; background-color: #B9CDFB; layer-background-color: #B9CDFB; border: 1px none #000000; visibility: hidden;"> 
                    <div id="URLLayer" > 
                      <form target="MenuHandlerFrame" onSubmit="GotoURL();">
                        <input id ="URLEingabe" name="URLEingabe" type="text" size="70">
                        <input  name="Submit" type="submit" id="Submit" value="GO">
                      </form>
                    </div>
                  </div>
                  <iframe src="" width="100%" height="510" name="MobileWindow" id="MobileWindow"> 
                  <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen: 
                    Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden 
                    Verweis aufrufen: <a href=""></a></p>
                  </iframe></td>
              </tr>
            </table></td>
          <td width="20">&nbsp;</td>
        </tr>
      </table>
    </div>
    <object id="ControlNetObj" classid='clsid:BEB7879D-BF29-4860-B877-62D376B99404' width="0" height="0" VIEWASTEXT></object>
    <object id="STBSystemCtrl" classid="CLSID:B85D9E74-D9FD-4F7B-8001-A6FFD0BF289C" width="0" height="0" VIEWASTEXT></object>
    <div id="WebCamImageFullScreenLayer" style="position:absolute; width:639px; height:425px; z-index:10; left: 4px; top: 3px; visibility: hidden;"><img id="WebCamImageFullscreen" width="100%"></div>
    </div>
    </body>
    </html>
    
     
  8. NEELIXThomas

    NEELIXThomas SOT-Team

    Registriert seit:
    31 März 2006
    Beiträge:
    2,150
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    mal mal unter
    Code:
    				if(ScreenObject=='vid')
    				{
    					switch(e.keyCode)
    					{		
    						case 35:
    							ShowArtikelInfoLayer();
    							e.keyCode=0;
    							break;
    
    						case 113:
    							ToogleClipFunctions();
    							e.keyCode=0;
    							break;
    
    						case 46:
    							//alert('121');
    							ShowBrokenLinkLayer();
    							break;
    							
    						case 17:
    							StartClipBewertungsLayer();
    							break;
    
    						case 182:
    							ShowNeuesFormatLayer();
    							break;
    
    						case 49:
    							//alert('0');
    							ToogleClipFunctions();
    							break;
    							
    						//case 46:
    						//	ToogleClipFunctions();
    						//	break;
    											
    						case 48:
    							//alert('0');
    noch folgende Zeile
    Code:
    toogleVidPlayerFullscreen();
     
  9. Semenchkare

    Semenchkare Mitglied

    Registriert seit:
    9 Feb. 2006
    Beiträge:
    635
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Neelix - Du bist ein Held!

    Hallo,

    da war also der Fehler, der mich wirklich schon Tage nervt!
    Vielen Vielen Dank!
    Ich Schmeiss Dir auch mal wieder ein Stein in den Garten

    Gruss

    Seme
     
  10. NEELIXThomas

    NEELIXThomas SOT-Team

    Registriert seit:
    31 März 2006
    Beiträge:
    2,150
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    konntest Du auch nicht finden, da dies nur beim aufruf über die STB in den Quelltext eingefügt wird
     
  11. bubbletom

    bubbletom Neuer User

    Registriert seit:
    19 Dez. 2006
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich würde gerne eine eigenes Portal erstellen und dazu den Code hier benutzen.
    Ich habe nicht genug Kenntnisse um mir ein eigenes Portal zu bauen, da wollte ich Deine Vorlage nehmen.
    Kannst Du bitte den korrigierten kompletten Code nochmal posten?
    Brauche ich da noch irgendwelche zusätzlichen Dateien (Stylesheets)?
    Braucht man einen Webserver oder kann ich das auf den USB-Stick ablegen?

    Ich habe das mal in den SOT eingebaut, bekomme dann aber nur ein ASCII Listing zu sehen.

    Viele Fragen aber wie ich dieses Forum kenne wird mir bestimmt geholfen.
    Wenn das mit dem USB Stick funktioniert wäre das doch sinnvoll das im wiki aufzunehmen.

    Vielen Dank.
     
  12. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    4,911
    Zustimmungen:
    42
    Punkte für Erfolge:
    48
    Hallo bubbletom,
    das könnte schon daran liegen, dass du auf deinem PC im Windows-Explorer (ich meine hier NICHT den Internet-Explorer!) unter Extras/Ordneroptionen/Ansicht den Haken bei Erweiterungen bei bekannten Dateitypen nicht rausgenommen hast.

    Dann erzeugst du, je nach Editor, eine MyHomepage.html.txt oder eine MyHomepage.html.doc.

    Joe
     
  13. Captn

    Captn Neuer User

    Registriert seit:
    25 Okt. 2006
    Beiträge:
    62
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Industriekaufmann
    Ort:
    Rotenburg
    #13 Captn, 7 Jan. 2007
    Zuletzt bearbeitet: 7 Jan. 2007
    portal zip

    mahlzeit,

    versuche mir gerade ein eigenes portal zu basteln und merke dass es doch etwas komplizierter ist.
    - myhomepage.html erstellt
    - css/system.css vorhanden
    - images/streamsontvportal.jpg vorhanden
    - javascripts? wie heißen die? wo bekommt man die her?

    gibt es ein rohpackage zum ausbauen herunterzuladen?

    stehe gerade auf dem schlauch und komm nicht weiter :(
     
  14. noller

    noller Neuer User

    Registriert seit:
    14 Dez. 2006
    Beiträge:
    21
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Eigenes Portal

    Hallo,

    also ich habe jetzt aus den Infos von Neelix und Semenchkare mir ein eigenes kleines Portal gebastelt, das im Moment meine MP3s verwalten kann (was logischerweise natürlich immer recht lokal ist). Dabei setzt es nur auf HTML und Javascript, so daß man das eigentlich fast überall "hosten" kann. Ich hab' glücklicherweise einen lokalen Webserver.;)

    Wenn hier mehr Interesse ist, kann ich das Projekt mal mit einer kleinen Anleitung zusammenzippen und zum Download bereitlegen.

    Markus
     
  15. rolandino

    rolandino Neuer User

    Registriert seit:
    26 Okt. 2006
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo noller,

    also ich hätte Interesse :)

    Gruß,
    rolandino
     
  16. SchillDie

    SchillDie Neuer User

    Registriert seit:
    15 Dez. 2006
    Beiträge:
    25
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Moin
    Schliesse mich da auch mal an.
    Habe auch schon denn ein oder anderen versuch unternommen ein Portal zu bauen aber meist fehlt einfach die Zeit.
    Dir mal über die Schulter schauen zu dürfen währe klasse. :)
    Grüsse,
    Chris
     
  17. Captn

    Captn Neuer User

    Registriert seit:
    25 Okt. 2006
    Beiträge:
    62
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Industriekaufmann
    Ort:
    Rotenburg
    ich hätte auch interesse,

    zeit hab ich genug aber der kopf spielt nicht mit. möchte eigentlich auch nur meine lokalen sachen verwalten mit den funktionen des "original-sot" von neelixthomas. :)
     
  18. hirschcom

    hirschcom Neuer User

    Registriert seit:
    10 Sep. 2004
    Beiträge:
    45
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hätte auch interesse !
     
  19. bubbletom

    bubbletom Neuer User

    Registriert seit:
    19 Dez. 2006
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich hatte leider beim Grabben aus dem Forum einige Sonderzeichen erwischt, deshalb habe ich nur ASCII zu sehen bekommen. Im Anhang findet Ihr den Html-Quellcode und die dazugehörigen Bilder und und CSS Stylesheets.

    Ich weiß leider noch nicht, wie man eine Webseite einbindet (Wie gesagt ich habe keinen Dunst von Javascript. Ferner weiß ich nicht wie man die Folder an der Seite auf und zuklappen kann.

    Vielleicht kann ja jemand eine Beispieldatei posten bei der alles funktioniert.

    Das lokale Portal sieht auf jeden Fall schon einmal super aus.

    Bubbletom
     

    Anhänge:

  20. Captn

    Captn Neuer User

    Registriert seit:
    25 Okt. 2006
    Beiträge:
    62
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Industriekaufmann
    Ort:
    Rotenburg
    jo, das sieht schonmal gut aus, jetzt fehlt noch diese komische link/kategorie-hizufüggeschichte (ab da komm ich nämlich nicht weiter)