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
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Re: synchronisation via message und bass?

  Alt 17. Jun 2007, 09:44
Zitat von Marco Steinebach:
Huhu Arnold und Liste,
Eine Frage noch, die hier nicht ganz hingehört: wenn ich doch application.handle übergebe, wo kann ich dann die Message abfangen, die ja dann an die Application, nicht ans Formular geschickt wird?
Viele Grüße
Marco
Tja das geht über Postmessage unabhängig von der Form.

Delphi-Quellcode:
unit Unit1;

interface
uses ....

  Const
  um_MusicEnd = wm_User + 400;

type
  TfrmMain = class(TForm)
  ....
  private
  Procedure MusicEnd(Var Msg:TMessage); Message um_MusicEnd;
  public
end;

Procedure SyncProc(Handle: HSync; Channel, Data: DWORD; User: DWORD); stdcall;
Begin
  Case User of
    1: Begin
         PostMessage(frmMain.Handle, um_MusicEnd, 0, 0);
       End;
  End;
End;

procedure TfrmMain.btnPlayClick(Sender: TObject);

begin
  If Stream <> 0 then
  Begin
  EndSync := Bass_ChannelSetSync(Stream, Bass_SYNC_END, 0, @SyncProc, 1);
  end
....
end;

Procedure TfrmMain.MusicEnd(Var Msg:TMessage);
Begin

  if ckRandom.Checked then
  begin
   if (playlist.ItemIndex = playlist.Count - 1) then
   begin
     playlist.ItemIndex := 0;
     playlist.Selected[playlist.ItemIndex] := True;

     // play filestream
     btnPlayClick(nil);
     exit;
   end else
     playlist.ItemIndex := playlist.ItemIndex + 1;
     playlist.Selected[playlist.ItemIndex] := True;

     // play filestream
     btnPlayClick(nil);
  end else
    // stop filestream
    btnStopClick(nil);
End;
So in etwa !
Weiss aber nicht ob es das ist was du erwartest
Dabei ist es egal welches Handle bei INIT übergeben wird da Postmessage
dies übernimmt und dann dieses Handle für die Message zuständig ist.

Über User kannst du dann selbst bestimmen welche message du auswerten willst
mußt dann die Case Anweisung nur erweitern.
gruss Emil
  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 03:42 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