Autor |
Beitrag |
chrisx
      
Beiträge: 81
|
Verfasst: Sa 30.10.04 15:15
hallo, ich habe einen funktionstüchtigen swf-player geschrieben, den ich nun noch um eine funktion erweitern will:
nämlich eine Trackbar, die mit dem flash-film "mitwandert" und anzeigt, wieviel des filmes schon vergangen ist
zweitens soll man den "zeiger" verschieben können, um im flash-film nach vorne, bzw hinten spulen zu können.
ich bitte um eine genaue anleitung, da meine kentnisse in delphi sehr gering sind
und ich von der Trackbar überhaupt keine ahnung habe.
danke schon im voraus.
chrisx
|
|
ScorpionKing
      
Beiträge: 1150
Win XP
|
Verfasst: Sa 30.10.04 15:45
ok ich probiers mal:
Quelltext 1: 2:
| prozent := totaltime / nowtime * 100; progressbar1.progress := prozent; |
also: totaltime ist die zeit des swf-files und nowtime die vergangene! die beiden zeiten musst aber selbst ermitteln, da ich keine ahnung hab wie dein player aussieht. mach ma nen download-link!
ScorpionKing 
_________________ Aus dem Urlaub zurück!
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Sa 30.10.04 16:10
Also wenn überhaupt, dann andersrum. Und überhaupt ist das ein Integerwert und das heißt nicht Progress, sondern Position:
Delphi-Quelltext 1: 2:
| prozent:=Round(100*nowtime/totaltime); progressbar1.Position:=prozent; |
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
chrisx 
      
Beiträge: 81
|
Verfasst: Sa 30.10.04 16:26
wo muss ich diese 2 zeilen einbauen?
so: ?
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.TrackBar1Change(Sender: TObject); begin prozent:=Round(100*nowtime/totaltime); progressbar1.Position:=prozent;
end; |
aber dann kommt der fehler, dass "prozent" ein undefinierter bezeichner ist.
|
|
sourcehunter
      
Beiträge: 482
Win XP | Suse 10.1
Delphi 2005 Pers.
|
Verfasst: Sa 30.10.04 16:34
Du musst zwischen Zeile 1 und 2 noch
Delphi-Quelltext
einfügen!
_________________ Linux und OpenSource rulez!
|
|
chrisx 
      
Beiträge: 81
|
Verfasst: Sa 30.10.04 16:41
das habe ich nun auch eingefügt, aber es gibt ein neues problem, jetzt wird angezeigt, dass "nowtime" ein undefinierter bezeichner ist.
muss ich da einen timer einbauen, wenn ja, wie stelle ich das an?
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Sa 30.10.04 16:43
Die Zeitwerte erhältst du von deinem Player. Wenn du nicht weißt wie: SRC PLZ !!
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
chrisx 
      
Beiträge: 81
|
Verfasst: Sa 30.10.04 17:22
.Chef hat folgendes geschrieben: | Die Zeitwerte erhältst du von deinem Player. Wenn du nicht weißt wie: SRC PLZ !! |
sorry, ich peile im moment gar nichts, kannst du deine worte etwas erläutern?
|
|
wulfskin
      
Beiträge: 1349
Erhaltene Danke: 1
Win XP
D5 Pers (SSL), D2005 Pro, C, C#
|
Verfasst: Sa 30.10.04 17:59
Also, nochmal langsam und der Reihe nach: - Zunächst musst du herausfinden, wie du die aktuelle Position und die Länge der svf-Datei abfragen kannst.
- Dann setzt du die Eigenschaft TrackBar.Max auf die Länge.
- Um auch noch die aktuelle Position ständig aktualisiert anzuzeigen, benutzt du entweder einen Timer oder eine andere passende Funktion von deinem Abspieler und setzt die Eigenschaft TrackBar.Position auf die aktuelle Position.
- Um nun auch noch das Spulen zu ermöglichen, musst du in dem Ereignis TrackBar.OnChange die Eigenschaft Player.AktuellePosition auf TrackBar.Position setzen.
Ich hoffe, dass war jetzt verständlich.
Gruß Hape!
_________________ Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
|
|
chrisx 
      
Beiträge: 81
|
Verfasst: Sa 30.10.04 18:35
danke,
jetzt habe selbst ich es verstanden.
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Sa 30.10.04 18:45
SRC PLZ steht für "Source Please" oder auch "Quellcode bitte" und ist der internationale Hilferuf der Vereinigung anonymer Programmierer nach mehr Information zu Beantwortung von Fragen. 
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
chrisx 
      
Beiträge: 81
|
Verfasst: Sa 30.10.04 19:26
jetzt hab ich doch noch eine frage:
was muss ich schreiben, damit bei der übergabe von dateipfad ,auch die länge des ausgewählten films mit übergeben wird:
soweit bin ich:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.ffnenundabspielen1Click(Sender: TObject); begin OpenDialog1.Execute; ShockwaveFlash1.Movie:=OpenDialog1.FileName; ShockwaveFlash1.Time:=OpenDialog1.FileName; ShockwaveFlash1.play; end; |
was ist da falsch?
es wird angezeigt, dass Time (ShockwaveFlash1.Time:=OpenDialog1.FileName // Länge ds films + Pfad übergeben) ein undefinierter bezeichner ist, wie heist es aber sonst?
|
|
sourcehunter
      
Beiträge: 482
Win XP | Suse 10.1
Delphi 2005 Pers.
|
Verfasst: Sa 30.10.04 19:58
Hat den die Klasse eine Variable mit dem Namen Time?
_________________ Linux und OpenSource rulez!
|
|
chrisx 
      
Beiträge: 81
|
Verfasst: Sa 30.10.04 20:28
sourcehunter hat folgendes geschrieben: | Hat den die Klasse eine Variable mit dem Namen Time? |
des weiß ich ja net, deshalb habe ich den beitrag ja geschrieben
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Sa 30.10.04 20:45
Dann hast du da grundlegend was falsch verstanden. Für diese Frage ist nämlich die Delphihilfe zuständig. Ganz speziell reicht da schon dieses Syntaxhilfefenster, welches aufploppt, wenn du einen Punkt hinter den Bezeichner machst. Hier im Forum widmen wir uns tiefgreifenderen Problemen.
Gruß,
Jörg
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|