StreamOnTV - Quellcode für eigenes Portal

rolandino

Neuer User
Mitglied seit
26 Okt 2006
Beiträge
13
Punkte für Reaktionen
0
Punkte
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
 
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.
 
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
 
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
 
@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
 
poste mir mal den Quellcode und ich schau mal durch ob ich den Fehler finden kann
 
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>
 
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();
 
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
 
konntest Du auch nicht finden, da dies nur beim aufruf über die STB in den Quelltext eingefügt wird
 
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.
 
Hallo bubbletom,
Ich habe das mal in den SOT eingebaut, bekomme dann aber nur ein ASCII Listing zu sehen.
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
 
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 :(
 
Zuletzt bearbeitet:
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
 
Hallo noller,

also ich hätte Interesse :)

Gruß,
rolandino
 
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
 
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. :)
 
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

  • portal.zip
    60.3 KB · Aufrufe: 230
jo, das sieht schonmal gut aus, jetzt fehlt noch diese komische link/kategorie-hizufüggeschichte (ab da komm ich nämlich nicht weiter)
 

Statistik des Forums

Themen
246,284
Beiträge
2,249,440
Mitglieder
373,877
Neuestes Mitglied
Bbj
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.