Filme Abspielen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Dennis
Beiträge: 1
Registriert: 09.02.2005 21:40

Filme Abspielen

Beitrag von Dennis »

Kann mir jemand sagen, mit welchem Befehl ich Filme abspielen kann??
MFG
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

mit PlayMovie !!!!! :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag 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)
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag von nicolaus »

:lol: 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
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag 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.
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag 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!
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag 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 
Zuletzt geändert von Hroudtwolf am 10.02.2005 08:54, insgesamt 3-mal geändert.
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag 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
Antworten