| Autor |
Beitrag |
tom1266
      
Beiträge: 38
|
Verfasst: Do 14.08.08 13:24
Hallo Leutz, ist es möglich im Delphi Mediaplayer mehrere Film nahtlos hintereinander abspielen zu lassen (eine Art Playlist), aber ohne das der Mediaplayer sich nach jedem Film schließ und wieder geöffnet wird?
Über Hilfen würde ich mich freuen
Gruß Tom
|
|
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 14.08.08 13:51
ich weiß nicht ob es dafür eine Fuktion gibt.ich glaube du willst ,dass schnittstellen zwischen den filmen ineinernander übergehen ,richtig?
|
|
Hack Gott
      
Beiträge: 409
Windows Vista
Delphi 2005 Personal, Delphi 7
|
Verfasst: Do 14.08.08 14:22
Glaube ich nicht...
Erstell dir doch eine ListBox und schreib dort alle Titel rein. Und dann spielst du einfach den nächsten Eintrag ab, wenn der Film fertig ist.
Ich denke doch mal, dass es eine OnFilmEnde (o.ä)  gibt... oder?
Arne
PS: Gerade kein Delphi zur Hand sonst würde ich nachschauen
_________________ "Je mehr Käse, desto mehr Löcher; Je mehr Löcher, desto weniger Käse. Daraus folgt: Je mehr Käse desto weniger Käse!"
|
|
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 14.08.08 19:26
| Zitat: | ch denke doch mal, dass es eine OnFilmEnde (o.ä) gibt... oder |
nein gibs nicht. 
|
|
DHE
      
Beiträge: 37
Win XP, Ubuntu 9.04
Delphi 7 PE; Delphi 2010 Prof (Dank AGS 2009 ;-) )
|
Verfasst: Do 14.08.08 20:24
Zuletzt bearbeitet von DHE am Do 14.08.08 20:29, insgesamt 1-mal bearbeitet
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 14.08.08 20:29
Doch gibts:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); begin caption := 'start'; mediaplayer1.Notify := true; mediaplayer1.Play; end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject); begin caption := 'stop'; end; |
// ups, zu spät ^^
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
tom1266 
      
Beiträge: 38
|
Verfasst: Fr 15.08.08 07:27
Danke für die Bsp. hat jemand einen kompletten Code welchen ich mal testen kann?
Gruß Tom
|
|
Hack Gott
      
Beiträge: 409
Windows Vista
Delphi 2005 Personal, Delphi 7
|
Verfasst: Fr 15.08.08 08:00
tom1266 hat folgendes geschrieben: | | Danke für die Bsp. hat jemand einen kompletten Code welchen ich mal testen kann? |
Also ich muss dich doch sehr bitten!!!
Jetzt hast du doch alles was du benötigst mit dem onNotify,.. musst du die sachen nur noch kombinieren und filme in deine playlist reinschreiben!
Du kannst nicht erwarten, nur weil du zu faul bist, dass sich jetzt jemand anderes für dich hinsetzt und dir dein programm schreibt, du dir das kurz anschaust, nickst und sagst ja, so hätte ich das auch gemacht und es dann aosgar noch als dein programm verkaufst! (also nur im übertragenen sinne verkaufen).
Tut mir leid, aber da hab ich kein verständniss dafür. Außerdem lernst du durch sowas dann ja gar nichts...
_________________ "Je mehr Käse, desto mehr Löcher; Je mehr Löcher, desto weniger Käse. Daraus folgt: Je mehr Käse desto weniger Käse!"
|
|
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 15.08.08 08:01
|
|
tom1266 
      
Beiträge: 38
|
Verfasst: Fr 15.08.08 08:07
Titel: mediaplayer
Ja ist schon klar, sorry !
Hier mal den Code den ich versuche umzubauen:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83:
| public Procedure AddToPlayList(s:string); procedure PlayFile(songNumber: integer); Procedure WMDropFiles (Var aMsg: tMessage); message WM_DROPFILES; end;
var Form1: TForm1; playList: TStringList; CurrentSong: integer = -1; implementation
{$R *.dfm}
Procedure TForm1.WMDropFiles (Var aMsg: tMessage); Var Idx, Size, FileCount: Integer; Filename: pChar; Begin Inherited; FileCount := DragQueryFile (aMsg.WParam, $FFFFFFFF, nil, 255); For Idx := 0 To FileCount -1 Do Begin Size := DragQueryFile (aMsg.WParam, Idx, nil, 0) + 1; Filename := StrAlloc (Size); If DragQueryFile (aMsg.WParam, Idx, Filename, Size) = 1 Then else AddToPlayList (pChar (Filename)); StrDispose (Filename); End; DragFinish (aMsg.WParam); End;
Procedure TForm1.AddToPlayList(s:string); begin playList.Add(s); ListBox1.Items.Add(extractfilename(s)); end;
procedure TForm1.FormCreate(Sender: TObject); begin DragAcceptFiles (Handle, True); playList := TStringList.Create; end;
procedure TForm1.FormDestroy(Sender: TObject); begin playList.Free; end;
procedure TForm1.PlayFile(songNumber: integer); begin if fileexists(Playlist.Strings[songNumber]) then begin CurrentSong := songNumber; mediaplayer1.Close; mediaplayer1.FileName := Playlist.Strings[songNumber]; mediaplayer1.Open; mediaplayer1.play; end; end;
procedure TForm1.ListBox1Click(Sender: TObject); var i : integer; begin for i := 0 to listbox1.Count - 1 do if listbox1.Selected[i] then break; PlayFile(i); end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject); begin if mediaplayer1.Position = mediaplayer1.Length then begin Listbox1.Selected[currentSong] := false; inc(currentSong); if currentSong < Playlist.Count then else currentsong := 0; PlayFile(CurrentSong); Listbox1.Selected[currentSong] := true; end; end;
end. |
Hier habe ich halt das Problem, dass nach jedem Film der MP geschlossen und wieder geöffnet wird, was kann ich ändern um die Filme nacheinander ohne pause und ruckeln abspielen lassen zu können?
Gruß Tom
Moderiert von Gausi: Delphi-Tags hinzugefügt
|
|
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 15.08.08 08:12
Du könntest 2 nehmen. der einer spielt den ersten Film der andere ist inaktiv und fängt kurz
bevor das 1. video fertig ist an zuspielen.Kurz heißt in diesem fall dann 1-2 sek. .
Anscchließend ist es genau andersherum. 
|
|