Zum Inhalt wechseln

Willkommen auf der MCE-Community.de
Registriere dich jetzt um den Zugriff auf alle Funktionen zu erhalten. Einmal registriert und eingeloggt können dann Themen mit Bildern angeschaut werden, Fragen gestellt und beantwortet werden. Weitere Funktionen sind: Themen abonnieren, ein eigenes Postfach, ein eigenes Profil und vieles mehr. Die Nutzung der Community ist 100% kostenfrei. Es ist also KEIN Abo oder sonstige Gebühren für die Mitgliedschaft zu zahlen. Wenn du bereits angemeldet bist, Log dich ein - ansonsten erstelle ein Konto kostenfrei bei uns!

Java Script von der SDK 2005 zu langsam!


  • Please log in to reply
22 Antworten in diesem Thema

#1
Peacemaker

Peacemaker

    Fingerwundschreiber

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIP
  • 1.275 Beiträge
HI


also das js von der SDK2005 ist sau langsam, leider kann ich die sprache nicht recht und weiß deshalb nicht warum das so ist,

drum suche ich jemand der sich mit js auskennt und mir helfen könnte!

mein vb funktion brauch für einen datensatz von ~1000 nicht mal eine sekunde, der rest dauert manchmal 10 bis 15 sekunden,

oder ist diese js funktion daran schuld?

function LoadByAuthor
{
mediaload.style.display = 'block';
scrollspan.style.display = 'none';
Lib.LoadAuthor();
    
  	
if(Lib.GetState() == true){
var count = Lib.GetAuthorCount();
var strTable = "";
for(i = 1; i < count +1; i++){
strTable += Lib.GetAuthorName(i);
    	}
    	{
scrollspan.innerHTML = '<table ID="btnlistTable" border="0" cellpadding="0" cellspacing="3">' + strTable + '</table>';
    	}
    	{
setCounter();
    	}
    	{
startFocus();
      
                    }
	{

mediaload.style.display = 'none';
crollspan.style.display = 'block';
    	}
    }
  	}

wenn jemand den gesamt code will schickt mir bitte eine PN,

cya Peacemaker


klarmobil.de

Konditionen: Telefon-Flatrate in alle dt. Netze, 500 MB Internet-Flat (danach GPRS), O2-Netz, 24 Monate je 19,85 € (Monatsvertrag 24,85 €)

#2
marcusboos

marcusboos

    Beginners

  • Mitglied
  • PIPPIP
  • 31 Beiträge
  • Heimatort:Köln
Hallo Peacemaker,

der gesamte Code währe schon ganz sinnvoll, die verlohrene Zeit kann ja auch in den Funktionen liegen die du aufrufst. Ich glaube aber das das Problem in den Klammern liegt die hier etwas unmotiviert rumlungern :-).

Es ist Schwierig zu sagen was richtig ist, weil du nicht schreibst was eigendlich passieren soll.

versuchs mal so: (leider verfummelt die quote funktion die Einrückungen)

function LoadByAuthor {

	mediaload.style.display = 'block';
	scrollspan.style.display = 'none';
	Lib.LoadAuthor();
   
   if(Lib.GetState() == true) {
  var count = Lib.GetAuthorCount();
  var strTable = "";
  
  for(i = 1; i < count +1; i++) {
   strTable += Lib.GetAuthorName(i);
     }
    
    
  scrollspan.innerHTML = '<table ID="btnlistTable" border="0" cellpadding="0" cellspacing="3">' + strTable + '</table>';
    
  setCounter();
    
  startFocus();
    
  mediaload.style.display = 'none';
  crollspan.style.display = 'block';
    
   }
 }


#3
usa

usa

    Inventar

  • Admin
  • PIPPIPPIPPIPPIPPIPPIP
  • 14.934 Beiträge
  • Geschlecht:Männlich
  • Heimatort:Berlin
  • Interessen:Volleyball, xpMCE
@marcusboos

Für Code solltest den Button rechts daneben nutzen (CODE) ... :)
Sieht einfach schöner aus :)
Windows Media Center Technology Evangelist Eingefügtes Bild

#4
Peacemaker

Peacemaker

    Fingerwundschreiber

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIP
  • 1.275 Beiträge
Hallo marcusboos

es liegt nicht an den klammern, es sind definitiv die Funktion SetCounter und SetArray aus der SDK die so langsam sind zbs.
function setCounter()
{
      isCounter = true
 
    aScrollBtnsArray = new Array()
       for (i=0; i<scrollspan.all.length; i++)
    {
        var obj = scrollspan.all(i)
        if(obj.MCFocusable == "true")
        {
            var nextElement = aScrollBtnsArray.length
            aScrollBtnsArray[nextElement] = obj
        }
    }

    counterTotal.innerHTML = aScrollBtnsArray.length
}

könnte ich der funktion nicht den count geben damit es nicht alle scrollspan objekte aufzählt;

cya

#5
scendix

scendix

    Fingerwundschreiber

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIP
  • 1.490 Beiträge
  • Geschlecht:Männlich
  • Heimatort:Ebstorf, Lüneburger Heide
  • Interessen:Familie, Programmieren (alle Sprachen, alle Systeme), MCE, ...
probier dies mal:

function setCounter()
{
   isCounter = true;

   aScrollBtnsArray = new Array();
   var l = scrollspan.all.length;
   var obj = null;
   var nextElement = aScrollBtnsArray.length;
   for(i = 0; i < l; i++)
   {
       obj = scrollspan.all(i)
       if(obj.MCFocusable == "true")
       {           
           aScrollBtnsArray[nextElement ++] = obj;
       }
   }

   counterTotal.innerHTML = aScrollBtnsArray.length;
}
(blind geändert nach erfahrung...)

bei solchen fragen kommt normalerweise die gegenfrage: musst du 1000 items zur auswahl anbieten?
bei mceAuction mache ich alle 50 einträge dann einen "next page" dahinter zum blättern. befindet sich der user auf einer hinteren seite, ist der erste eintrag der liste immer ein "prev page".
einfach mal bei mceAuction auf suche und dann dann ein suchwort eingeben, das in vielen auktionen vorkommt. dann siehst du, was ich meine....

in der windows-programmierung kommt ganz oft die frage, wie mal schnell 100.000 einträge in eine combobox oder listbox füllen kann. als gegenfrage kommt dann IMMER: wer soll da noch vernüftig auswählen in einer combobox mit 100.000 einträgen?

hth
scendix
Mehr Spaß mit MCE Plugins: - Jaast: eBay® im Media Center (kostenlos) - TapiRex: Anrufbenachrichtigung (in MCE) mit Name und Bild - mcePhone for Skype: bringt Skype in das MCE - mceWeather: Wettervorhersage auf Knopfdruck (kostenlos) ... und noch mehr: www.jaast.com

#6
Peacemaker

Peacemaker

    Fingerwundschreiber

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIP
  • 1.275 Beiträge
Hi

ich Danke dir scendix, aber leider bringt es nichts am speed ;)

und ja 1000 oder zugar 7000 müssen sein ! soviel mp3s habe ich zmd. ;)

200 buttons gehnen gerade noch so, das wären dann 5 mal blättern ist für mich nicht so sinnvoll,

meine idee warum mehrere tausende buttons generieren wenn man sowieso nur ~10 sieht, wäre sowas machbar?

cya

#7
olcay

olcay

    sattelfester Senior

  • SpecialMember Pro
  • PIPPIPPIPPIPPIP
  • 985 Beiträge
  • Geschlecht:Männlich
  • Heimatort:Frankfurt am Main

Peacemaker sagte am 10.05.2005, 23:05:

Hi

ich Danke die scendix, aber leider bringt es nichts am speed  ;)

und ja  1000 oder zugar 7000 müssen sein ! soviel mp3s habe ich zmd.  ;)

200 buttons gehnen gerade noch so, das wären dann 5 mal blättern ist für mich nicht so sinnvol,

meine idee warum mehrere tausende buttons generieren wenn man sowieso nur  ~10 sieht, wäre sowas machbar?

cya
Ich weis nicht genau in welcher Sprache Du programmierst aber in C# gibt es die ArrayLists und da könntest Du dann alles generieren. Ich würde dann in zwei variablen den start und endindex von den gerade angezeigten mp3 sichern. und immer wenn man runter bzw hoch scrollt zählt der einfach... mit Threading würde es nicht mal hängen denke ich.
Eingefügtes Bild Eingefügtes Bild

#8
maltic

maltic

    Inventar

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIPPIP
  • 2.641 Beiträge
  • Heimatort:Deutschland

Peacemaker sagte am 10.05.2005, 23:05:

meine idee warum mehrere tausende buttons generieren wenn man sowieso nur ~10 sieht, wäre sowas machbar?
Hi,

ich habe das im 2005er SDK genauso implementiert. Es werden immer nur 10 Buttons generiert und angezeigt. Scrollt man nach oben bzw. nach unten werden die Buttons neu genertiert (wieder 10 Stück). So kann man im Grunde genommen unendlich viele Buttons auf der linken Seite haben, die Geschwindigkeit bleibt unabhängig von deren Anzahl. Das Scrollen von 20 Buttons dauert genauso lange wie das Scrollen von 20.000.

Ich habe z.Zt. wenig Zeit, aber ich schaue mal, ob ich das raussuchen kann. Es waren ein paar kleine Veränderungen am SDK notwendig, das SDK bleibt aber komplett kompatibel.

M.
Intel DG41TY | Intel Core 2 Duo E8400 | 4GB RAM | 3.5 TB HD | Cine 2 mit Flex-Erweiterung | Windows 7 | 2 x XBOX

#9
Peacemaker

Peacemaker

    Fingerwundschreiber

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIP
  • 1.275 Beiträge

maltic sagte am 11.05.2005, 15:09:

Ich habe z.Zt. wenig Zeit, aber ich schaue mal, ob ich das raussuchen kann. Es waren ein paar kleine Veränderungen am SDK notwendig, das SDK bleibt aber komplett kompatibel.
HI @maltic das wäre super :oh:


thx cya

#10
maltic

maltic

    Inventar

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIPPIP
  • 2.641 Beiträge
  • Heimatort:Deutschland
So,

zuerst der Code für das Plugin, das auf der rechten Seite eine Reihe von ListButtons darstellt. Tatsächlich werden immer nur max. 9 dargestellt, beim
Scrollen wird lediglich der Inhalt verändert.

<html>
<head>
<title>Page Title</title>

<link rel="STYLESHEET" type="text/css" href="Main.css">

<script src="BasicFunctions.js" type="text/javascript"></script>
<script src="Scrolling.js" type="text/javascript"></script>
<script src="MoveFocus.js" type="text/javascript"></script>

<script>

    var TopListButton=1;
    var MaxListButtons, OldMaxListButtons=0;
    var ListButtonsDisplayed;
    var FolderID="x";
    var Dummy="1";

    function pageLoadFunctions()
    {
        setBGColor("#666666");
        checkSVP();
        setCounter();
        setArray();
        startFocus();

    }

    function doSelect()
    {
    /* This function determines what your buttons do when they are selected
    (navigate, call a function, etc.). This function will get called whenever user
    clicks a focusable item, or selects it with "OK" button on remote. Make sure to
    include a case below for each focusable item on the page */
        var url = ""
        switch(oCurFocus.id)
        {
            case "ListButton1": url = URL(1); break;
            case "ListButton2": url = URL(2); break;
            case "ListButton3": url = URL(3); break;
            case "ListButton4": url = URL(4); break;
            case "ListButton5": url = URL(5); break;
            case "ListButton6": url = URL(6); break;
            case "ListButton7": url = URL(7); break;
            case "ListButton8": url = URL(8); break;
            case "ListButton9": url = URL(9); break;
          }
        if (url != "") 
	{
  MAPI.ShutDown();
  window.navigate(url);
	}
    }
</script>

</head>

<body id="body" MCFocusStart="btnMenuPg" onload="pageLoadFunctions()" onkeydown="myonRemoteEvent(window.event.keyCode)">

<span ID="ruler" style="visibility:hidden;FONT-WEIGHT: bold; FONT-SIZE: 20pt; font-family: arial;"></span>

<!-- Start span used as stand-in for Shared Viewport -->
<span style="position: absolute; top: 0; left: 0; height: 100%;">
    <table style="position: absolute; top: 0; left: 0; height: 100%;" cellspacing="0" cellpadding="0">
    <tr><td valign="bottom" height="100%">
        <span id="SVP" style="width: 308; height: 216; vertical-align: bottom" MCFocusable="true"></span>
    </td></tr>
    </table>
</span>
<!-- End span used as stand-in for Shared Viewport -->

<span id="FolderName" class="text1" style="position: absolute; top: 94; left: 345; width: 610;"></span>

<!-- Item counter at lower right. Displays only if button menu is scrollable -->
<span id="itemCounterSpan" style="font: 20pt Arial; color: #f2f2f2; width: 610; Height: 42; text-align: right; display: block; position: absolute; top: 644; left: 119;">
    <span id="counterNum">1</span>&nbsp;of&nbsp;<span id="counterTotal"></span>
    <span id="arrowUp" class="arrowUp" onclick = "pageUpDown('up')"></span>
    <span id="arrowDown" class="arrowDown" onclick = "pageUpDown('down')"></span>
</span>
<!-- End item counter at lower right -->

<table id="listTable" border="0" cellpadding="0" cellspacing="3" style="position: absolute; top: 138; left: 10;">
    <tr><td><span id="Left1" class="button1" MCFocusable="true">Back</span> </td></tr>
    <tr><td><span id="Left2" class="button1" MCFocusable="true">Delete</span></td></tr>
    <tr><td><span id="Left3" class="button1" MCFocusable="true">Sort by Subject</span></td></tr>
</table>

<!-- Start of "scrolling" span -->
<span id="scrollspan" ListButtons="true" MCScrollable="true" style="position: absolute; top: 138; left: 300; width: 700; height: 485; overflow: hidden">
    <table id="listTable" border="0" cellpadding="0" cellspacing="3">
        <tr><td ID="ListButton1" class="button2" MCFocusable="true"></td></tr>
        <tr><td ID="ListButton2" class="button2" MCFocusable="true"></td></tr>
        <tr><td ID="ListButton3" class="button2" MCFocusable="true"></td></tr>
        <tr><td ID="ListButton4" class="button2" MCFocusable="true"></td></tr>
        <tr><td ID="ListButton5" class="button2" MCFocusable="true"></td></tr>
        <tr><td ID="ListButton6" class="button2" MCFocusable="true"></td></tr>
        <tr><td ID="ListButton7" class="button2" MCFocusable="true"></td></tr>
        <tr><td ID="ListButton8" class="button2" MCFocusable="true"></td></tr>
        <tr><td ID="ListButton9" class="button2" MCFocusable="true"></td></tr>
   <script>
	</script>
       </table>
</span>

<div id="xxx"></div>

<script>

function showfocus()
{
	document.all.xxx.innerHTML=oCurFocus.id+" "+TopListButton+" *"+oCurFocus.innerHTML+"* "+PixelWidth(oCurFocus.innerHTML)+" "+MaxListButtons;
}

//interval=window.setInterval("showfocus()",500);


function UpdateListButtons()
{

	MAPI.GetFolders(FolderID);
	MAPI.GetFolderItems(FolderID);

	FolderCount = MAPI.FolderCount();
	ItemCount = MAPI.ItemCount();

	MaxListButtons= FolderCount + ItemCount;

	if (MaxListButtons>=9)
	{
  ListButtonsDisplayed=9;
	} else
	{
  ListButtonsDisplayed=MaxListButtons;
	}


	if ((OldMaxListButtons!=0) && (OldMaxListButtons>MaxListButtons))
	{
  
  while (TopListButton-1+ListButtonsDisplayed > MaxListButtons)
 	 TopListButton--;

	}

	if (OldMaxListButtons!=MaxListButtons)
	{
  for (i=1;i<=ListButtonsDisplayed;i++)
 	 document.getElementById("ListButton"+i).style.visibility="visible";
  for (i=ListButtonsDisplayed+1;i<=9;i++)
 	 document.getElementById("ListButton"+i).style.visibility="hidden";
	}

	OldMaxListButtons=MaxListButtons;

	for (i=1;i<=ListButtonsDisplayed;i++)
	{
  if (i-1+TopListButton<=FolderCount)
  {
 	 SubFolderID=MAPI.FolderEntryID(i-1+TopListButton)
 	 Caption=MAPI.FolderName(SubFolderID);
 	 Caption="<IMG SRC='folder.gif'> "+Caption;  
  } else
  {
 	 ItemID=MAPI.ItemEntryID(i-1+TopListButton-FolderCount)
 	 Caption=MAPI.Subject(ItemID);
 	 
 	 if (MAPI.ItemOpened(ItemID)==1)
    Caption="<IMG SRC='mailread.gif'> "+Caption;
 	 else
    Caption="<IMG SRC='mail.gif'> "+Caption;


  }

  
  Caption=CropString(Caption,650);

  document.getElementById("ListButton"+i).innerHTML=Caption; 
	}
	
}

function URL(ListButton)
{
	if (ListButton-1+TopListButton<=FolderCount)
	{
  return "Default"+(Dummy*1+1)+".htm?ID="+MAPI.FolderEntryID(ListButton-1+TopListButton)+"&Dummy="+(Dummy*1+1);
	} else
	{
  return "eMailView.htm?ID="+MAPI.ItemEntryID(ListButton-1+TopListButton-FolderCount);
	}
}

function ParseParameters()
{
	var strSearch = location.search.substring( 1 ); // remove '?'
	var astrAllParam = strSearch.split( '&' );	

	for ( var index = 0; index < astrAllParam.length; index++ )
	{
  var astrTemp   = astrAllParam[index].split( '=' );
  var paramName  = astrTemp[0];
  var paramValue = astrTemp[1];
      
  if (paramName=="ID")
 	 FolderID=paramValue;
  if (paramName=="Dummy")
 	 Dummy=paramValue;
	}
}

function myonRemoteEvent(keyCode)
{
	if ((oCurFocus.id!="ListButton1") && (oCurFocus.id!="ListButton"+ListButtonsDisplayed))
  UpdateListButtons();
	onRemoteEvent(keyCode);
}


function PixelWidth(s)
{
	ruler.innerHTML=s;
	while (ruler.readyState!="complete")
	{
	}
	return ruler.offsetWidth;
}
  
function CropString(s,width)
{
	while (PixelWidth(s)>width)
  s=s.substring(0,s.length-1);
	return s;
}


MAPI = new ActiveXObject("MCELook.MapiHelper"); 

MAPI.Startup();

ParseParameters();

if (FolderID=="x")
{
	FolderID=MAPI.StartFolderID();
}

document.all.FolderName.innerHTML=MAPI.FolderName(FolderID);

UpdateListButtons();

</script>

<span id="pagetext" style="FONT-SIZE: 100pt; FILTER: alpha(opacity=30); LEFT: -15px; WIDTH: 300px; COLOR: #ffffff; POSITION: absolute; TOP: -40px; FONT-FAMILIY: Tahoma">
 	 <FONT face="Tahoma">email</FONT></span>



</body>

</html>

Hier die Veränderung im SDK, ich hoffe, ich habe nicht noch mehr Veränderungen vorgenommen :)

Basicfunctions.js: (einfach die beiden Case-Anweisungen verändern)
       case 38:  // Up button selected
      if ((oCurFocus.id == "ListButton1") && (TopListButton>1))
     {
  TopListButton--;
  updateCounter();
  UpdateListButtons();
     } else
            changeFocus("up");
            break;

        case 40:  // Down button selected
     if (oCurFocus.id == "ListButton"+ListButtonsDisplayed)
     {
  if (TopListButton+ListButtonsDisplayed-1<MaxListButtons)
      {
 	 TopListButton++;
 	 updateCounter();
 	 UpdateListButtons();	
  }
     } else 
           	 changeFocus("down");
            break;


Scrolling.js:

function pageUpDown(direction)
{
    // This function determines what to do if the user presses the Page Up (+) or Page Down (-) key
    
    if ((oCurFocus.id=="ListButton"+ListButtonsDisplayed) && (direction=="down"))
    {
	TopListButton+=10;
        while (TopListButton-1+ListButtonsDisplayed>MaxListButtons)
  TopListButton--;
	oCurFocus=document.getElementById("ListButton"+ListButtonsDisplayed);
	oCurFocus.focus();
	UpdateListButtons();
	updateCounter();
	return;
    }

    if ((oCurFocus.id=="ListButton1") && (direction=="up"))
    {
	TopListButton-=10;
	if (TopListButton<1)
	{
  TopListButton=1;
	}
	oCurFocus=document.getElementById("ListButton1");
	oCurFocus.focus();
	UpdateListButtons();	
	updateCounter();
	return;
    }
  

    // Call the getScrollParent function to find the scrollable parent object
    var oScrollParent = getScrollParent()
    if (oScrollParent == null)
    {
        return
    }


    // find correct button to focus on
    var oScrollToBtn = getScrollToButton(oScrollParent, direction);
    oCurFocus = oScrollToBtn;
    oCurFocus.focus();
    // check if scrolling has taken place, and update positions of scrollable elements if needed
    if (didScroll())
    {
        updateScrollPositions()
    }
}

function updateCounter()
{
     /* this function updates the numeric value for the item counter found at the lower right of
    each scrollable menu in the templates, to indicate which item currently has focus. */

    if (isCounter != true)
    {
        // if there is no counter on the page, return
        return
    }
    // variable to track whether focus is in scrollable menu
    var bFocusInMenu = false
    //Loop through all focusable items in scrolling menu
    for (i=0; i<aScrollBtnsArray.length; i++)
    {
        // if item currently has focus ...
        if (aScrollBtnsArray[i] == oCurFocus)
        {
  
            if (scrollspan.ListButtons == "true")
  counterNum.innerHTML = (i+TopListButton);
     else	
             // set counter number to show which item has focus
             counterNum.innerHTML = (i + 1);
            // update variable to indicate focus is in scrollable menu
            bFocusInMenu = true
        }
    }
    // if focus in in menu, make sure arrows are not grayed out.
    if (bFocusInMenu == true)
    {
        itemCounterSpan.style.filter = "none"
    }
    // Else gray out arrows to indicate disabled state.
    else
    {
        itemCounterSpan.style.filter = "alpha(opacity=50)"
    }
}


Das sollte es gewesen sein. Der Code sollte sich von selbst erklären.

Viel Spass und schick mir mal ein paar von Deinen Plugins zu ;)

M.
Intel DG41TY | Intel Core 2 Duo E8400 | 4GB RAM | 3.5 TB HD | Cine 2 mit Flex-Erweiterung | Windows 7 | 2 x XBOX

#11
Peacemaker

Peacemaker

    Fingerwundschreiber

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIP
  • 1.275 Beiträge

maltic sagte am 18.05.2005, 14:46:

Das sollte es gewesen sein. Der Code sollte sich von selbst erklären.

Viel Spass und schick mir mal ein paar von Deinen Plugins zu :)

M.
Hi

ein fettes Danke

sieht nach einen neuen mail plugin aus :D

ich versuche mich mal da durch zu finden ;)

........und schick mir mal ein paar von Deinen Plugins zu :)


hehe ist ja nur ein aktives ..der News-Reader ;) der rest ist langeweile :wacko: wie dieses pic zbs. :ph34r:

cya

Angehängte Dateien



#12
maltic

maltic

    Inventar

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIPPIP
  • 2.641 Beiträge
  • Heimatort:Deutschland
Ja, das war ein Test für ein Outlook-Plugin, das ich vor langer Zeit mal geschrieben habe. Ansonsten habe ich leider nichts zu bieten :ph34r:

Ich würde gerne ein DVB-Plugin schreiben, benötige dafür aber ein vernünftiges DVB-Backend. Ich hatte an MyTheatre gedacht, das bei mir gut funktioniert. Man kann den DVB-Strom dann in den Media Center streamen und auch Kanäle wechseln, funktioniert mit DVB-S und DVB-C, beides mit CI. Allerdings stürzt der Mediacenter ab, wenn man in den Vollbildmodus schaltet :wacko: Super!

Ansonsten habe ich nichts vernünftiges an DVB-Programmen gefunden -> also nix mit DVB-Plugin....
Intel DG41TY | Intel Core 2 Duo E8400 | 4GB RAM | 3.5 TB HD | Cine 2 mit Flex-Erweiterung | Windows 7 | 2 x XBOX

#13
Peacemaker

Peacemaker

    Fingerwundschreiber

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIP
  • 1.275 Beiträge
Hallo @maltic

warum machst du das Outlook-Plugin nicht weiter !

P.S. wenn du mal zeit findest und MCE2005 hast schau mal in der SDK2005 nach MediaContext.GetProperty(playlist), ich kann da machen was ich will ich bekomme einfach nichts :ph34r: obwohl alles schön regestriert ist :D

so ist der aufruf

window.external.MediaCenter().MediaContext.GetProperty("playlist")

geht aber nur wenn man über (Mehr) das plugin aufruft!

cya


Zitat

maltic

Ansonsten habe ich leider nichts zu bieten  :wacko:

deine anwesendheit in der community reicht zu 100% aus *G*
:)

#14
maltic

maltic

    Inventar

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIPPIP
  • 2.641 Beiträge
  • Heimatort:Deutschland

Peacemaker sagte am 18.05.2005, 22:02:

warum machst du das Outlook-Plugin nicht weiter !
Keine Zeit, keine Lust, vor allem keine Zeit.
Intel DG41TY | Intel Core 2 Duo E8400 | 4GB RAM | 3.5 TB HD | Cine 2 mit Flex-Erweiterung | Windows 7 | 2 x XBOX

#15
olcay

olcay

    sattelfester Senior

  • SpecialMember Pro
  • PIPPIPPIPPIPPIP
  • 985 Beiträge
  • Geschlecht:Männlich
  • Heimatort:Frankfurt am Main

maltic sagte am 18.05.2005, 20:14:

Ich würde gerne ein DVB-Plugin schreiben, benötige dafür aber ein vernünftiges DVB-Backend. Ich hatte an MyTheatre gedacht, das bei mir gut funktioniert. Man kann den DVB-Strom dann in den Media Center streamen und auch Kanäle wechseln, funktioniert mit DVB-S und DVB-C, beides mit CI. Allerdings stürzt der Mediacenter ab, wenn man in den Vollbildmodus schaltet :finger: Super!

Ansonsten habe ich nichts vernünftiges an DVB-Programmen gefunden -> also nix mit DVB-Plugin....
Hi maltic,

hast Du paar Informationen wie der Stream genau in die MCE kommt? Wie genau stürzt die MCE ab? Hängt es sich am Anfang nur auf oder ist direkt alles weg?

Es könnte sein das es an dem Modus liegt in dem sich die MCE befindet wenn PlugIns laufen.

Olcay
Eingefügtes Bild Eingefügtes Bild

#16
maltic

maltic

    Inventar

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIPPIP
  • 2.641 Beiträge
  • Heimatort:Deutschland
Hi,

der Stream kommt über HTTP und wird über das SDK (PlayMedia war das glaube ich) gestartet. Läuft alles wunderbar, ich kann von der programmierten Seite, die PlayMedia aufruft zurück ins Hauptmenü, in den Guide, wohin auch immer, unten links wird der Stream abgespielt. Klicke ich auf den Viewport und wechselt der Mediacenter in den Vollbildmodus stürzt die ESHELL ab, der Stream läuft allerdings weiter.

Gruß,
M.
Intel DG41TY | Intel Core 2 Duo E8400 | 4GB RAM | 3.5 TB HD | Cine 2 mit Flex-Erweiterung | Windows 7 | 2 x XBOX

#17
Raudi

Raudi

    sattelfester Senior

  • Mitglied
  • PIPPIPPIPPIPPIP
  • 947 Beiträge
  • Heimatort:Verden an der Aller
  • Interessen:Computer &amp; Heimkino

maltic sagte am 19.05.2005, 09:56:

Peacemaker sagte am 18.05.2005, 22:02:

warum machst du das Outlook-Plugin nicht weiter ! 
Keine Zeit, keine Lust, vor allem keine Zeit.
Outlook gibt es doch schon... Und funktioniert mit Outlook XP darunter wirklich gut!

HIER

Stefan

#18
Peacemaker

Peacemaker

    Fingerwundschreiber

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIP
  • 1.275 Beiträge
HI maltic

startest du den stream im page load ?

und geht überhaupt der fullscreen, zbs per button?

cya

#19
maltic

maltic

    Inventar

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIPPIP
  • 2.641 Beiträge
  • Heimatort:Deutschland
function playMedia()
{
	window.external.MediaCenter.PlayMedia 2, "http://192.168.1.50:8000/dvbcore.mpg");
}


window.setTimeout("playMedia()", 5000);

Ja, Fullscreen läuft, aber 1/2 Sekunde später schmiert die MCE ab.
Intel DG41TY | Intel Core 2 Duo E8400 | 4GB RAM | 3.5 TB HD | Cine 2 mit Flex-Erweiterung | Windows 7 | 2 x XBOX

#20
olcay

olcay

    sattelfester Senior

  • SpecialMember Pro
  • PIPPIPPIPPIPPIP
  • 985 Beiträge
  • Geschlecht:Männlich
  • Heimatort:Frankfurt am Main

maltic sagte am 20.05.2005, 18:09:

function playMedia()
{
	window.external.MediaCenter.PlayMedia 2, "http://192.168.1.50:8000/dvbcore.mpg");
}


window.setTimeout("playMedia()", 5000);

Ja, Fullscreen läuft, aber 1/2 Sekunde später schmiert die MCE ab.
Hmm Du startest ja Dein HTML Seiten über die MCL-Datei. Hast Du mal versucht in der MCL-Datei unter "CapabilitiesRequired" den Wert von DirectX mit false zu belegen?

Was auch sein kann, ist das der MPEG Stream für DirectShow etwas zu exotisch ist. Hat MyTheatre irgendwelche Besonderheiten beim erstellen des Streams?
Eingefügtes Bild Eingefügtes Bild

#21
maltic

maltic

    Inventar

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIPPIP
  • 2.641 Beiträge
  • Heimatort:Deutschland
Gute Idee, werde ich ausprobieren und hier "reporten" ... ob es Besonderheiten gibt, kann ich leider nicht sagen.
Intel DG41TY | Intel Core 2 Duo E8400 | 4GB RAM | 3.5 TB HD | Cine 2 mit Flex-Erweiterung | Windows 7 | 2 x XBOX

#22
Peacemaker

Peacemaker

    Fingerwundschreiber

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIP
  • 1.275 Beiträge
HI @maltic

habe auch gleich mal ein wenig gefummelt !*G*

im pageload habe ich das window.external.MediaCenter.DirectXExclusive = false;
sonst geht bei mir garnix :-(((

und außerdem spinnt der SVP bei mir voll, ich hatte dann den CVP genommen,

so zum full-screen sprich ich switche zwischen html plugin und dem kleinem fenster(CVP) , der geht bei mir nur wenn Media Center im Full Screen ist, wenn ich MC dann in ein normal fenster anzeigen lasse, schmiert es ab wegen einem mpgfilter fehler,

ich habe es mit einer dvr-ms datei getestet,

cya Peacemaker

#23
maltic

maltic

    Inventar

  • SpecialMember Pro
  • PIPPIPPIPPIPPIPPIPPIP
  • 2.641 Beiträge
  • Heimatort:Deutschland
Ich habe den Mediacenter immer im Fullscreen laufen. Der Fehler tritt bei mir auf, wenn ich das _VIDEO_ in den Fullscreen schalte.
Intel DG41TY | Intel Core 2 Duo E8400 | 4GB RAM | 3.5 TB HD | Cine 2 mit Flex-Erweiterung | Windows 7 | 2 x XBOX



Ähnliche Themen




Besucher die dieses Thema lesen: 0

Mitglieder: 0, Gäste: 0, unsichtbare Mitglieder: 0