AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi synchronisation via message und bass?
Thema durchsuchen
Ansicht
Themen-Optionen

synchronisation via message und bass?

Ein Thema von Marco Steinebach · begonnen am 16. Jun 2007 · letzter Beitrag vom 17. Jun 2007
 
Marco Steinebach

Registriert seit: 4. Aug 2006
503 Beiträge
 
Delphi 5 Enterprise
 
#9

Re: synchronisation via message und bass?

  Alt 17. Jun 2007, 13:48
Hallo Listers,
Ersteinmal vielen herzlichen Dank für die vielen Tips und Hinweise.
Hier jetzt nochmal, als Zusammenfassung, das setzen eines SyncPoints via Message, für alle, die's gebrauchen können.

1. Das Init der BASS.DLL kann so bleiben, wie man es kennt:
  if (not BASS_Init(1, 44100, 0, Application.handle, nil)) then Hat den Vorteil das auf jedenfall alle Messages, die die BASS.DLL ggf. verschickt, auch bei der Application ankommen.

2. brauchen wir die Message die generiert wird, wenn das Ende eines Titels erreicht ist:
Delphi-Quellcode:
const
  WM_BASS_EOF = WM_User + 1;
3. Das setzen des Sync-Handles:
Delphi-Quellcode:
// hs ist der Handle (HSYNC) für die Sync-Prozedur, um ihn ,ggf.
// wieder entfernen zu können.
// sh ein Channel
    hs := BASS_ChannelSetSync(sh, BASS_SYNC_END or BASS_Sync_Message, 0, SyncProc(WM_BASS_EOF), 0);
Den TypeCast schlagen übrigens auch die Entwickler im Forum von Un4Seen vor. Also anstatt der Prozedur-Adresse wird hier die Message selbst übergeben die gesendet werden soll, wenn das Ende erreicht ist.
4. und zu guter letzt, braucht es noch den Message-Handler. Ich habe das mit einem TApplicationEvents-Objekt gelöst, einfach auf die Hauptform platzieren, doppelklick auf OnMessage und dann sieht's so aus:
Delphi-Quellcode:
procedure THauptFormular.AppEventsMessage(var Msg: tagMSG;
  var Handled: Boolean);
begin
  If Msg.Message = WM_BASS_EOF then
  begin
    // mach was, denn das Ende des Titels ist jetzt erreicht.
  end;
end;
Das ganze funktioniert hier wirklich ganz brav!
Viele herzliche Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
 


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 12:36 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