Seite 2 von 3

Verfasst: 08.06.2006 17:56
von a14xerus
worauf jetzt antworten?
auf die eigentliche Frage dieses Threads???
wenn ja: heißt das , das es keinen befehl gibt, um einen CD track an einer bestimmten stelle anzufangen, oder kennt ihn nur keiner??
wenn nein: worauf dann die antwort?

Verfasst: 08.06.2006 18:20
von Jilocasin
Hab da vielleicht was:

Du kannst auch direkt über MCI arbeiten
(hab ich jetzt in meinem neuen MoviePlayer so gemacht ... )

ungefähr so....

Code: Alles auswählen

Procedure Movie_Load(Nb,file.s)
  
  If CurrentExtension = "cda"
    done = mciSendString_("open "+Chr(34)+file+Chr(34)+" type CDAUDIO alias MYMOVIE"+Str(Nb),0,0,0)
  Else ; -> mit Parent-Funktion
    done = mciSendString_("open "+Chr(34)+file+Chr(34)+" type MPEGVIDEO style child parent "+Str(hWnd)+" alias MYMOVIE"+Str(Nb),0,0,0)
  EndIf
  
  
  If done = 0
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure

Procedure Movie_Stop(Nb) 
  done = mciSendString_("stop MYMOVIE"+Str(Nb),0,0,0) 
  If done = 0
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_Play(Nb)
  done = mciSendString_("play MYMOVIE"+Str(Nb),0,0,0)
  If done = 0
    Result = 1
    MOVIE_STOPPED = 0
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure

Procedure Movie_Pause(Nb)
  done = mciSendString_("pause MYMOVIE"+Str(Nb),0,0,0)
  If done = 0
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure

Procedure Movie_Resume(Nb) 
  done = mciSendString_("resume MYMOVIE"+Str(Nb),0,0,0) 
  If done = 0
    Result = 1
    MOVIE_STOPPED = 0
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_Free(Nb) 
  done = mciSendString_("close MYMOVIE"+Str(Nb),0,0,0) 
  If done = 0
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_SetVolume(Nb,volume) 
  done = mciSendString_("setaudio MYMOVIE"+Str(Nb)+" volume to "+Str(volume),0,0,0) 
  If done = 0
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_GetVolume(Nb) 
  a$=Space(#MAX_PATH) 
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" volume",@a$,#MAX_PATH,0) 
  ProcedureReturn Val(a$) 
EndProcedure 

Procedure Movie_SetSpeed(Nb,Tempo) 
  done = mciSendString_("set MYMOVIE"+Str(Nb)+" speed "+Str(Tempo),0,0,0) 
  If done = 0
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_GetSpeed(Nb) 
  a$=Space(#MAX_PATH) 
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" speed",@a$,#MAX_PATH,0) 
  ProcedureReturn Val(a$) 
EndProcedure 

Procedure Movie_GetLength(Nb)
  a$=Space(#MAX_PATH)
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" length",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure

Procedure Movie_GetPosition(Nb)
  a$=Space(#MAX_PATH)
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" position",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure

Procedure.s Movie_GetTimeFormat(Nb) 
  a$=Space(#MAX_PATH) 
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" time format",@a$,#MAX_PATH,0) 
  ProcedureReturn a$
EndProcedure 

Procedure Movie_SetTimeFormat(Nb,format.s) 
  done = mciSendString_("set MYMOVIE"+Str(Nb)+" "+format,0,0,0) 
  If done = 0
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_IsPlaying(Nb) 
  a$=Space(#MAX_PATH) 
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" mode",@a$,#MAX_PATH,0) 
  If a$="playing"
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_IsPaused(Nb) 
  a$=Space(#MAX_PATH) 
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" mode",@a$,#MAX_PATH,0) 
  If a$="paused"
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_IsStopped(Nb) 
  a$=Space(#MAX_PATH) 
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" mode",@a$,#MAX_PATH,0) 
  If a$="stopped" Or a$ = ""
    Result = 1
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_IsReady(Nb) ; Dud noch net so...
  a$=Space(#MAX_PATH) 
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" mode",@a$,#MAX_PATH,0) 
  If a$="not ready"  Or a$ = ""
    Result = 0
  Else
    Result = 1
  EndIf
  ProcedureReturn Result
EndProcedure 

Procedure Movie_GetSourceWidth(Nb)
  a$=Space(#MAX_PATH)
  done = mciSendString_("where MYMOVIE"+Str(Nb)+" source",@a$,#MAX_PATH,0)
  If done = 0 ; (...Also hat's geklappt)
    
    ; Die Leerzeichen im String ermitteln...
    
    pos1 = FindString(a$," ",1)
    pos2 = FindString(a$," ",pos1+1)
    pos3 = FindString(a$," ",pos2+1)
    
    a$ = Mid(a$,pos2+1,pos3-pos2-1)
    Result = Val(a$)
  EndIf
  ProcedureReturn Result
EndProcedure

Procedure Movie_GetSourceHeight(Nb)
  a$=Space(#MAX_PATH)
  done = mciSendString_("where MYMOVIE"+Str(Nb)+" source",@a$,#MAX_PATH,0)
  If done = 0 ; (...Also hat's geklappt)
    
    ; Die Leerzeichen im String ermitteln...
    
    pos1 = FindString(a$," ",1)
    pos2 = FindString(a$," ",pos1+1)
    pos3 = FindString(a$," ",pos2+1)
    
    a$ = Mid(a$,pos3+1,50)
    Result = Val(a$)
  EndIf
  ProcedureReturn Result
EndProcedure

Procedure Movie_GetWidth(Nb)
  a$=Space(#MAX_PATH)
  done = mciSendString_("where MYMOVIE"+Str(Nb)+" destination",@a$,#MAX_PATH,0)
  If done = 0 ; (...Also hat's geklappt)
    
    ; Die Leerzeichen im String ermitteln...
    
    pos1 = FindString(a$," ",1)
    pos2 = FindString(a$," ",pos1+1)
    pos3 = FindString(a$," ",pos2+1)
    
    a$ = Mid(a$,pos2+1,pos3-pos2-1)
    Result = Val(a$)
  EndIf
  ProcedureReturn Result
EndProcedure

Procedure Movie_GetHeight(Nb)
  a$=Space(#MAX_PATH)
  done = mciSendString_("where MYMOVIE"+Str(Nb)+" destination",@a$,#MAX_PATH,0)
  If done = 0 ; (...Also hat's geklappt)
    
    ; Die Leerzeichen im String ermitteln...
    
    pos1 = FindString(a$," ",1)
    pos2 = FindString(a$," ",pos1+1)
    pos3 = FindString(a$," ",pos2+1)
    
    a$ = Mid(a$,pos3+1,50)
    Result = Val(a$)
  EndIf
  ProcedureReturn Result
EndProcedure

Procedure Movie_Resize(Nb,x,y,b,h)
  done = mciSendString_("put MYMOVIE"+Str(0)+" window at "+Str(x)+" "+Str(y)+" "+Str(b)+" "+Str(h),0,0,0) 
  If done
    Result = 0
  Else
    Result = 1
  EndIf
  ProcedureReturn Result
EndProcedure




Procedure Movie_CDTracks(Nb)
  a$=Space(#MAX_PATH)
  Result = mciSendString_("status MYMOVIE"+Str(Nb)+" number of tracks",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure

Procedure Movie_CDCurrentTrack(Nb)
  a$=Space(#MAX_PATH)
  Result = mciSendString_("status MYMOVIE"+Str(Nb)+" current track",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure

Procedure Movie_CDTrackLength(Nb,track)
  a$=Space(#MAX_PATH)
  Result = mciSendString_("status MYMOVIE"+Str(Nb)+" length track "+Str(track),@a$,#MAX_PATH,0)
  
  ProcedureReturn Val(a$) ; für Millisekunden-Berechnung
EndProcedure

Procedure Movie_CDGetPosition(Nb,track)
  a$=Space(#MAX_PATH)
  done = mciSendString_("status MYMOVIE"+Str(Nb)+" position track "+Str(track),@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure


Procedure Movie_Seek(Nb,pos) 
  If Movie_IsPlaying(Nb) 
    play_again = 1
    Movie_Stop(Nb) 
  EndIf 
  mciSendString_("play MYMOVIE"+Str(Nb)+" from "+Str(pos),0,0,0)
  If done = 0
    Result = 1
    MOVIE_STOPPED = 0
  Else
    Result = 0
  EndIf
  ProcedureReturn Result
EndProcedure 
Ich weiß das sind wirklich viele Prozeduren ( :oops: ) aber vielleicht findest du ja etwas...
PS:
Mit MCI lässt sich so ziemlich alles abspielen...

Verfasst: 08.06.2006 18:22
von a14xerus
stimmt sind viele proceduren..
das PB - CD - Audio system kann man so direkt weglassen^^danke.. ich werd schon was finden, was ich gebrauchen kann

Verfasst: 20.07.2006 21:57
von a14xerus
wofür steht die variable nb???

Verfasst: 21.07.2006 11:31
von Jilocasin
Wie bei den PB-Libs eben für die ID

Verfasst: 21.07.2006 11:43
von a14xerus
kann ich dann sozusagen 0 dareinschreiben?
und bei 2 dateien dann eine mit 0 udn eine 1??
ich habe es so gemacht, und bei mir kam bei load_movie immer result = 0


//edit : bezogen auf

Code: Alles auswählen

Procedure Movie_Load(Nb,file.s) 
  
  If CurrentExtension = "cda" 
    done = mciSendString_("open "+Chr(34)+file+Chr(34)+" type CDAUDIO alias MYMOVIE"+Str(Nb),0,0,0) 
  Else ; -> mit Parent-Funktion 
    done = mciSendString_("open "+Chr(34)+file+Chr(34)+" type MPEGVIDEO style child parent "+Str(hWnd)+" alias MYMOVIE"+Str(Nb),0,0,0) 
  EndIf 
  
  
  If done = 0 
    Result = 1 
  Else 
    Result = 0 
  EndIf 
  ProcedureReturn Result 
EndProcedure 

Verfasst: 21.07.2006 11:47
von Kaeru Gaman
grudnsätzlich soltset du fnord die kereckte ID ermittlen...

Verfasst: 21.07.2006 11:49
von a14xerus
und wie mache ich das?

Verfasst: 21.07.2006 12:06
von Jilocasin
Hmm probier mal...

Code: Alles auswählen

Procedure Movie_Load(Nb,file.s)
  If mciSendString_("open "+Chr(34)+file+Chr(34)+" type MPEGVIDEO alias MYMOVIE"+Str(Nb),0,0,0)
    Result = 0
  Else
    Result = 1
  EndIf
  ProcedureReturn Result
EndProcedure 
...mit vollständigem Dateipfad

Verfasst: 21.07.2006 12:14
von Tafkadasom2k5
[OT]
Kaeru Gaman hat geschrieben:grudnsätzlich soltset du fnord die kereckte ID ermittlen...
Was ist bitte ein fnord?!

Ist a14xerus ein dahingestellter, aber unantasbarer Beweis für irgendwas, um bei uns eine art Mindfuck auszulösen?
[/OT]