AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Sound ausgeben+button drücken
Thema durchsuchen
Ansicht
Themen-Optionen

Sound ausgeben+button drücken

Ein Thema von KoRn117 · begonnen am 10. Mär 2004 · letzter Beitrag vom 10. Mär 2004
Antwort Antwort
KoRn117

Registriert seit: 24. Sep 2003
Ort: Hessen
50 Beiträge
 
Delphi 7 Enterprise
 
#1

Sound ausgeben+button drücken

  Alt 10. Mär 2004, 09:32
hallo,

ich hab mal wieder ein problem:
ich gebe mit hilfe der port.dll einen sound aus und währendessen soll er aber gleichzeitig auch einen button abfragen, ob der ton gehört wurde.
das programm soll als billiger hörtester fungieren und ist folgendermaßen aufgebaut:

ich habe eine äußere schleife, in der die frequenz hochgezählt wird und eine schleife darin, wo immer die lautsärke von 0 hochgefahren wird. der nutzer soll dann drücken wenn er den sound gehört hat - verstanden?

beispiel:
frequenz steht auf 440hz und auf der lautstärke '1' --> sound wird ausgegeben und der user kann ihn nicht hören (zu leise).
nun wird die lautstärke erhöht:
frequenz steht auf 440hz und auf der lautstärke '101' --> sound wird ausgegeben und der user kann ihn nicht hören (zu leise).
usw. bis die lautstärke meinetwegen 500 hat und dann soll der user den button gedrückt hat.
so das funktioniert leider nicht, weil ich nicht innerhalb der schleife buttons abfragen kann.
ich hab es probiert mit einem globalen hook, aber auch der 'kommt' auch nciht in die schleife.
dann habe ich einen tipp von schubi bekommen, dass ich application.processmessages; benutzen soll, aber wenn ich das benutzte gibt er den sound nicht mehr aus - aber ich kann die buttons drücken bzw. die hook-signale verwenden


programm-code:
erklärung:
t_fq <- Frequenz
t_db <- pseudo db also die lautstärke
soundausgeben_kurz(...) <- gibt den sound aus, ist egal was da drin steht(funktioniert auf jedenfall)

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var s:string;
begin

while t_fq <= fqmax do
 begin
 t_db:=1;
 //gehort:=false;

 for T_i :=1 to dbmax do
  begin
   //soundausgeben_kurz(t_fq,t_db);

   //application.processmessages;
   //showmessage(inttostr(t_db));

   t_db:=t_db+100;
   form1.l1.caption := inttostr(t_db);

   if timer1.Tag = 1 then
     begin
     raster.RowCount:= raster.RowCount+1;
     raster.cells[0,stelle]:=inttostr(t_db);
     raster.cells[1,stelle]:=inttostr(t_fq);
     raster.cells[2,stelle]:='ja';

     t_fq:=t_fq+fq_step;

     inc(stelle);
     timer1.Tag := 0;
     end;

   {if Buchstabe_gedruckt='J' then
    begin
    raster.RowCount:= raster.RowCount+1;
    raster.cells[0,t_i]:=inttostr(t_db);
    raster.cells[1,t_i]:=inttostr(t_fq);
    raster.cells[2,t_i]:='ja';

    t_fq:=t_fq+fq_step;

    Buchstabe_gedruckt:='X';
     end;  }


   application.processmessages;
   //application.HandleMessage;

   end; //for ende db ende
end; // fq while ende

timer1.Enabled := false;
end;
  Mit Zitat antworten Zitat
KoRn117

Registriert seit: 24. Sep 2003
Ort: Hessen
50 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Sound ausgeben+button drücken

  Alt 10. Mär 2004, 09:36
hier noch das programm:

euch muss nur der timer1 und die zwei buttons mit der caption 'Hörtest' & 'Jaaa' interessieren.

ich hoffe, ihr könnt mir helfen





mfg

korn117
Angehängte Dateien
Dateityp: zip sound_mit_thread.zip (45,8 KB, 15x aufgerufen)
  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 09:02 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