![]() |
Bass.dll aktuelle Position auslesen
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 :) |
AW: Bass.dll aktuelle Position auslesen
1)
![]() 2) ![]() Du musst BASS_ChannelGetPosition mit dem Flag BASS_POS_BYTE aufrufen, und kannst dann den Rückgabewert mit BASS_ChannelBytes2Seconds in Sekunden umwandeln. |
AW: Bass.dll aktuelle Position auslesen
Ah ok Danke ;)
|
AW: Bass.dll aktuelle Position auslesen
Ich kapiere da was nicht: Ich habe jetzt folgenden Code:
Delphi-Quellcode:
nur zeigt er mir bei ChannelBytes2Seconds an das Integer und Double keine kompatible Typen sind (wohl verständlich :mrgreen:) und der Cursor springt hinter Byte. Nur habe ich das auch einmal versucht das Byte Double ist und da hat er gemeldet
var Time, Byte: Integer;
begin Byte := BASS_ChannelGetPosition(strs, BASS_POS_BYTE); Time := BASS_ChannelBytes2Seconds(strs, Byte); end;
Code:
und ist wieder hinter Byte gesprungen.
[dcc32 Fehler] haupt.pas(536): E2010 Inkompatible Typen: 'Int64' und 'Double'
|
AW: Bass.dll aktuelle Position auslesen
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; |
AW: Bass.dll aktuelle Position auslesen
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 :)
|
AW: Bass.dll aktuelle Position auslesen
Und wie würde ich dass dann machen wenn ich jetzt haben möchte dass es so aus sieht: '0:0' Mit Format?
|
AW: Bass.dll aktuelle Position auslesen
Und was soll das sein? Minuten und Sekunden?
|
AW: Bass.dll aktuelle Position auslesen
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* :D)
|
AW: Bass.dll aktuelle Position auslesen
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]); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz