Seite 1 von 1
Filme Abspielen
Verfasst: 09.02.2005 21:41
von Dennis
Kann mir jemand sagen, mit welchem Befehl ich Filme abspielen kann??
MFG
Verfasst: 09.02.2005 21:53
von ts-soft
mit PlayMovie !!!!!

Verfasst: 10.02.2005 05:13
von Hroudtwolf
Code: Alles auswählen
;2005 by Hroudtwolf
;MPEG-Playing
;
Procedure PlayMPG(No.l)
res.l=mciSendString_("play MPG"+Str(No.l)+" from "+Str(0),0,0,0)
ProcedureReturn res.l
EndProcedure
Procedure StopMPG(No.l)
res.l=mciSendString_("stop MPG"+Str(No.l),0,0,0)
ProcedureReturn res.l
EndProcedure
Procedure PauseMPG(No.l)
res.l=mciSendString_("pause MPG"+Str(No.l),0,0,0)
ProcedureReturn res.l
EndProcedure
Procedure ResumeMPG(No.l)
res.l=mciSendString_("resume MPG"+Str(No.l),0,0,0)
ProcedureReturn res.l
EndProcedure
Procedure LoadMPG(No.l,File.s)
res.l=mciSendString_("OPEN "+Chr(34)+File.s+Chr(34)+" Type MPEGVIDEO ALIAS MPG"+Str(No.l),0,0,0)
If res.l=0
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
Procedure FreeMPG(No.l)
res.l=mciSendString_("close MPG"+Str(No.l),0,0,0)
ProcedureReturn res.l
EndProcedure
;LoadMPG(1,"G:\Hroudtwolf_Logos\spiel.mpg")
;PlayMPG(1)
;Delay (1000)
;StopMPG(1)
;FreeMPG(1)
Verfasst: 10.02.2005 07:15
von nicolaus

zum glück gibts aber auch in PB direkt befehle für sowas und man muß sich nich 1000 proceduren schreiben mit MCI.
hier mal ein einfaches kurzes beispiel ohne api und kurz und es geht.
Code: Alles auswählen
movie.s = OpenFileRequester("Film wählen","","",0)
If movie
InitMovie()
hwnd = OpenWindow(0,0,0,200,200,#PB_Window_SystemMenu,"Play a Movie")
LoadMovie(0,movie)
ResizeWindow(MovieWidth(),MovieHeight())
PlayMovie(0,hwnd)
EndIf
Repeat:Until WaitWindowEvent() = #PB_Event_CloseWindow
Verfasst: 10.02.2005 08:27
von Hroudtwolf
Der ganze Moviekram in PB ist doch total fürn A.....
Das ermitteln von Frames klappt nicht richtig und ich hatte damit schon zig Abstürze (meine Erfahrung).
Wenns nicht gerade fürn Spiel ist. Dann benutze ich immer solche MCI-Prozeduren.
Die MCI-Prozeduren sollen eigentlich nur noch eine andere Möglichkeit für einen Anfänger zeigen als die internen Befs.
Verfasst: 10.02.2005 08:31
von nicolaus
> Der ganze Moviekram in PB ist doch total fürn A.....
> Das ermitteln von Frames klappt nicht richtig und ich hatte damit schon zig Abstürze (meine Erfahrung).
Dann mach du doch ne lib die nich voll fürn A.... is! Den großen mund kann ich auch haben und sorry aber ich benutze unter anderem die ganzen Funktionen von PB für meinen Player und die gehen. Vieleicht machst du ja auch was falsch wenn du immer abstürze hast. Einfach alles auf PB schieben is ja der einfacheste weg ich weiss schon....!
In deinem Beispiel sehen ich aber auch nich wie du die frames ermittelst also nich über andere dinge maulen!
Verfasst: 10.02.2005 08:36
von Hroudtwolf
Brauchst dich nicht persönlich angegriffen fühlen und unverschämt werden.Es ist mir neu ,daß man für Beispiele hier auch schon angegriffen wird.
Ich mach da nix falsch wenn sogar die original PB-Beispiele bei mir abstürzen. Und das ganze mittlerweile schon auf dem 4ten Computer von mir. Mit unterschiedlichen Betriebssystemen und der 2ten Version von PureBasic.
Da ist keine Prozedur für Frames ermitteln dabei . Weil er wissen wollte wie man Filme abspielt und nicht wie man Frames ermittelt.
Dies ist wie gesagt nur eine weitere Möglichkeit Movies abzuspielen.
Aber denoch:
Code: Alles auswählen
Procedure GetMPEGState(No.l) ; Aktuelle Position
Buffer.s=Space(255)
i=mciSendString_("status MPG"+Str(No.l)+" position",@Buffer.s,255,0)
ProcedureReturn Val(Buffer.s)
EndProcedure
Procedure GetMPGLength(No.l) ; Gesamte Länge des Films
Buffer.s=Space(255)
i=mciSendString_("status MPG"+Str(No.l)+" length",@Buffer.s,255,0)
ProcedureReturn Val(Buffer.s)
EndProcedure
Verfasst: 10.02.2005 08:45
von nicolaus
Du ich werde weder unverschämt noch fühl ich mich persönlich angegriffen es stört mich nur langsam super das du hier der Superprogrammierer schlecht hin sein willst und von allem und jedem ahnung hast. Ich bin nich der einzige der dir das jetzt schon gesagt hat und das sollte dir langsam mal zu denken geben.
So und um nich auch diesen Thrad noch zu versauen wird das hier mein letzter post zu dir und deinen Codebeispielen sein. Werd nur noch antworten wenns ums thema geht denn du scheinst eh ein hoffnungsloser fall zu sein und bei so viel kretik hier noch immer nich drauf gekommen zu swein mal ein wenig einsicht zu zeigen.
ich habe fertig