AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Playstatus eines Liedes mit Trackbar
Thema durchsuchen
Ansicht
Themen-Optionen

Playstatus eines Liedes mit Trackbar

Ein Thema von Ultimator · begonnen am 3. Sep 2004 · letzter Beitrag vom 26. Jan 2005
Antwort Antwort
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#1

Playstatus eines Liedes mit Trackbar

  Alt 3. Sep 2004, 09:43
Hallo!
Ich habe mich mal ein bisschen in die BASS-Welt eingearbeitet, und nun komm ich nicht weiter.
Ich möchte mit Hilfe einer Trackbar anzeigen, wie viel schon von einem Lied gespielt wurde (soll sich natürlich automatisch weiterbewegen ), und möchte sie auch verschieben können, wegen vor- und zurückspulen. Jetzt finde aber einfach keine Lösung, vielleicht könnt ihr mir helfen...
Hier mal ein Ausschnitt Code:
Delphi-Quellcode:
var wo:integer;
  wozeit,trackzeit,tracklength:single;
begin
tracklength:=BASS_StreamGetLength(spielstream);
trackZeit:=BASS_ChannelBytes2Seconds(spielstream,tracklength);
wo:=BASS_ChannelGetPosition(spielstream);
wozeit:=BASS_ChannelBytes2Seconds(spielstream,wo);
end;
Tracklength ist die Länge des Liedes in Bytes, tracklength ist sie in Sekunden, wo ist die Position des Streams, an welcher Stelle er sich im Lied gerade befindet (wieder in Byte), und wozeit ist das ganze wieder in Sekunden.

Ich hoffe, ihr könnt mir helfen. Wenn ihr noch Infos braucht, sagt es einfach
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Playstatus eines Liedes mit Trackbar

  Alt 3. Sep 2004, 11:02
Ich sehe dein Problm ehrlich gesagt nicht. Mir scheint, du musst nur etwas nachdenken. Frag in einm Timer ab wo du dich gerade befindest. Wie das geht, weißt du ja anscheinend. Dann setzt du da die Position einer Trackbar.

Bor und zurückbewegen in einem Lied? Einfach auf das OnChange der Trackbar reagieren und die Position neu setzten.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Playstatus eines Liedes mit Trackbar

  Alt 3. Sep 2004, 11:42
Ich habs jetzt mit der JvtrackBar gelöst, weil nur die OnMouse-Events hat, und zwar so:
Delphi-Quellcode:
procedure TForm1.TrackBar1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Timer1.Enabled := false; //Timer ausstellen
  BASS_ChannelPause(spielstream); //Lied anhalten
end;

procedure TForm1.TrackBar1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  BASS_ChannelSetPosition(spielstream, TrackBar1.Position); //Position setzen
  BASS_StreamPlay(spielstream, false, 0); //Lied wieder fortsetzen
  Timer1.Enabled := true; //Timer wieder aktivieren
end;
Julian J. Pracht
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#4

Re: Playstatus eines Liedes mit Trackbar

  Alt 26. Dez 2004, 18:42
Hi,

Luckie hat in einer Textdatei
Code:
hFileStream := BASS_StreamCreateFile(FALSE, @Filename[1], 0, 0, BASS_MP3_SETPOS
    or BASS_STREAM_AUTOFREE);
geschrieben.
Zitat:
@FileName
was soll das sein, etwa einfach opendialog.filename oder etwas anderes?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Playstatus eines Liedes mit Trackbar

  Alt 26. Dez 2004, 19:25
Was hat diese Frage mit der von Ultimator zu tun?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#6

Re: Playstatus eines Liedes mit Trackbar

  Alt 26. Dez 2004, 19:39
Ok dann kannst du mir ja in einer PN antworten.
  Mit Zitat antworten Zitat
padavan

Registriert seit: 12. Jan 2005
271 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Playstatus eines Liedes mit Trackbar

  Alt 26. Jan 2005, 12:47
Zu der Sache mit dem OnChange-Ereignis der Trackbar. Ich denke nicht, dass so so einfach ist, denn:
wenn man die Trackbar.position mit der Bass-Liedlänge füttert, bekommt man quasi laufend dieses Ereignis. Also einfach mit der Maus drauflklicken und ziehen is nich.
Warum die Trackbar kein Mousedown und Mouseup-Ereignis hat habe ich noch nciht begriffen. Das wäre doch eigentlich des Rätsels Lösung?!

Mit dem Timer die Trackbar.position über die Bass-Liedlänge ansteuern und bei Mousedown dieses entkoppeln und in die andere Richtung dann mit der Trackbar.position dann die Bass-Liedposition vorgeben......
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Playstatus eines Liedes mit Trackbar

  Alt 26. Jan 2005, 13:05
Aus genau diesem Grund habe ich dann auf die TJvTrackbar zurückgegriffen, weil eben die ein OnMouseDown/Up-Event hat
Julian J. Pracht
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz