Komprimierte Avi-Dateien abspielen
-
Ok...danke für die Antwort!
Kann man den Media-Player so als Control einbinden, dass sämtliche Einstellungsmöglichkeiten ausgeblendet sind und wirklich nur der Bereich angezeigt wird, den das Video darstellt?
-
ja
-
So hab das Problem jetzt eine Weile ruhen lassen, da andere Sachen Vorrang hatten.
Hab eine Möglichkeit gefunden mit mciSendString ein komprimiertes AVI-File im CAnimateCtrl-Control wiederzugeben.
Nun habe ich dazu noch 2 Fragen:
1. Wie kann ich das Video aus dem Speicher entfernen?
2. Wie kann ich ein bestimmtes Frame wiedergeben?
http://msdn.microsoft.com/library/en-us/multimed/mmcmdstr_177b.asp?frame=true
-
wenn du es mit open öffnest würde ich es mit close wieder schließen und mit seek springt man an die gewünschte Postion / Frame !!!
steht alles in deinem geposteten MSDN-Link bzw. in Folge-Links auf dieser Seite... ansonsten warten bis Eliminator 2001 antwortet

MfG veganza
[ Dieser Beitrag wurde am 30.06.2003 um 18:58 Uhr von veganza editiert. ]
-
Danke @Veganza!
Der Befehl Close haut übrigens wunderbar hin!
Nur mit dem Seek-Befehl hab ich meine Probleme:
mciSendString("seek movie", NULL, NULL, AnimationsHWND);
Wo genau muss ich den Parameter übergeben, dass ich zu einem beliebigen Frame springen kann?
Ok, dann muss ich warten bis Eliminator 2001 mir antwortet...

-
für den Fall das er nicht antwortet:
Ich würde es mal so versuchen:
seek movie to end nur um zu schauen ob er ans Ende springt !!!
und für die Frames vielleicht dann seek movie to 100 für Frame 100

mußt mal selber probieren... mir fehlt die Zeit dazu
wäre nett wenn Du mich auf dem Laufenden halten würdest 
MfG veganza
-
noch was gefunden:
Du mußt erst mit
set video1 time format frames
das Zeitformat auf Frames stellen... default sind ms ( Milisekunden )... sollte also in meinem obigen Beispiel ohne diese einstellungen 100 Milisikunden nach vorne springen ( wird man wahrscheinlich gar nicht sehen ) !!!und wie springt man wieder rückwärts ???
MfG veganza
-
Super @Veganza!
Mit:
mciSendString("seek movie to 1", NULL, NULL, AnimationsHWND);kann ich nun zum Anfang des Videos springen.
Das Video Time Format brauchte ich nicht extra auf Frames definieren.Ich habe jetzt das folgende Problem:
Als ich es am Anfang alles über das CAnimateCtrl-Control laufen lassen habe, habe ich einfach in der OnInitDialog()-Funktion den Startpunkt angegeben. Das funktioniert jetzt nicht mehr.
Wenn ich in der OnPaint()-Funktion den Aufruf mache (funktioniert nur, ohne dass ich mciSendString("close movie", NULL, NULL, AnimationsHWND); aufrufe), dann wird das erste Frame nur so lange angezeigt bis der Bildschirminhalt wieder neu gezeichnet wird.
Ich möchte aber immer das erste Frame anzeigen, nur wenn die Animation abläuft, dann natürlich nicht.Wie löse ich das am Besten?
-
@Dressman
versuche Deine Ausgangssituation mal etwas genauer zu beschreiben !!!
wie greifst Du wo drauf zu... welchen Anwendungstyp hast Du, welche Controls benutzt Du usw.in meiner "alten" Testanwendung... als Du das Posting gemacht hast habe ich auf dem "Dialog-Hintergrund" das Video abgepielt, wie Eliminator 2001 und hatte dort keine Redraw-Probleme... kenne die aber aus einem anderen Zusammenhang

Bitmap-Button... da war auch nach einem Redraw das Bitmap weg... nur keine Ahnung was ich damals gemacht habe um das Problem zu lösen
MfG veganza
-
Hab alle Probleme beseitigt!
Danke für die Hilfe!

[ Dieser Beitrag wurde am 02.07.2003 um 10:19 Uhr von Dressman1981 editiert. ]