AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Bass.dll aktuelle Position auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Bass.dll aktuelle Position auslesen

Ein Thema von Luki206 · begonnen am 9. Mär 2014 · letzter Beitrag vom 10. Mär 2014
Antwort Antwort
Seite 1 von 2  1 2      
Luki206
(Gast)

n/a Beiträge
 
#1

Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 13:35
Hi, wie kann man mit der Bass.dll die aktuelle Position des wiedergegebenen Liedes anzeigen? Ich habe es mit BASS_ChannelGetPosition nur bekomme ich dann utopische Zahlen. Das MP3 Player Tutorial von Gausi habe ich mir auch einmal angesehen nur kann ich aus seinen Angehängten .Pas Dateien nichts rauslesen..
Danke
Luki
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 13:39
1) http://www.un4seen.com/doc/#bass/BAS...tPosition.html
2) http://www.un4seen.com/doc/#bass/BAS...s2Seconds.html

Du musst BASS_ChannelGetPosition mit dem Flag BASS_POS_BYTE aufrufen, und kannst dann den Rückgabewert mit BASS_ChannelBytes2Seconds in Sekunden umwandeln.
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#3

AW: Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 13:54
Ah ok Danke
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#4

AW: Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 14:07
Ich kapiere da was nicht: Ich habe jetzt folgenden Code:
Delphi-Quellcode:
var Time, Byte: Integer;
begin
 Byte := BASS_ChannelGetPosition(strs, BASS_POS_BYTE);
 Time := BASS_ChannelBytes2Seconds(strs, Byte);
end;
nur zeigt er mir bei ChannelBytes2Seconds an das Integer und Double keine kompatible Typen sind (wohl verständlich ) und der Cursor springt hinter Byte. Nur habe ich das auch einmal versucht das Byte Double ist und da hat er gemeldet
Code:
[dcc32 Fehler] haupt.pas(536): E2010 Inkompatible Typen: 'Int64' und 'Double'
und ist wieder hinter Byte gesprungen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#5

AW: Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 14:43
Ich würde eine Variable niemals Byte oder Time nennen. BASS_ChannelBytes2Seconds erwartet als 2. Parameter einen Int64 und gibt double zurück.
Delphi-Quellcode:
var
  StreamPos: Int64;
  Ellapsed: double;
begin
  StreamPos := BASS_ChannelGetPosition(strs, BASS_POS_BYTE);
  Ellapsed := BASS_ChannelBytes2Seconds(strs, StreamPos);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#6

AW: Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 14:51
Das mit Time und Byte war jetzt nur mal ein Versuch, ich hätte die auch nicht mit dem Name da stehen lassen Ok danke
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#7

AW: Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 15:00
Und wie würde ich dass dann machen wenn ich jetzt haben möchte dass es so aus sieht: '0:0' Mit Format?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#8

AW: Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 15:06
Und was soll das sein? Minuten und Sekunden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#9

AW: Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 15:08
Oh, tut mir leid.. Ja genau, Minuten und Sekunden. Ich habe Delphi jetzt soweit das er mir die Sekunden anzeigt (welches großes Werk ich vollbracht habe *hust, Ironie* )
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#10

AW: Bass.dll aktuelle Position auslesen

  Alt 9. Mär 2014, 15:15
Delphi-Quellcode:
const
  SECONDS_PER_MINUTE = 60;
begin
  (* Nachkommastellen schneiden wir einfach mal ab *)
  WholeSeconds := trunc(Ellapsed);
  (* Und nun mit ganzzahliger Division in Minuten und Sekunden umrechnen *)
  TimeEllapsedStr := Format('%.2d:%.2d',
    [WholeSeconds div SECONDS_PER_MINUTE,
     WholeSeconds mod SECONDS_PER_MINUTE]);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:35 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