AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DTMF auswertung über die Soundkarte
Thema durchsuchen
Ansicht
Themen-Optionen

DTMF auswertung über die Soundkarte

Ein Thema von dac424 · begonnen am 11. Dez 2004 · letzter Beitrag vom 28. Jan 2005
Antwort Antwort
dac424

Registriert seit: 11. Dez 2004
21 Beiträge
 
#1

DTMF auswertung über die Soundkarte

  Alt 11. Dez 2004, 09:44
Hallo liebe Leute
ich suche nach einer Möglichkeit DTMF töne über die Soundkarte auszuwerten
sprich wen tönne über die Line in empfangen werden soll mein Programm etwas machen
nun das Problem überall im Inet mus man ActivX modul haben und die Sind alle kostenpflichtig
gibt es noch eine Möglichkeit die Kostenlos ist
danke für hilfe.
mann fängt klein an
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: DTMF auswertung über die Soundkarte

  Alt 11. Dez 2004, 17:08
Du benötigst eine FFT (Fast Fourier Transformation)-Komponente für Delphi.
Jeder DTMF-Ton wird aus der überlagerung von 2 Frequenzen erzeugt. Wenn Du nun per Komponenten die beiden Frequenzen bestimmst kannst Du die gedrückte Taste bestimmen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
dac424

Registriert seit: 11. Dez 2004
21 Beiträge
 
#3

Re: DTMF auswertung über die Soundkarte

  Alt 13. Jan 2005, 19:17
So ich habe jetzt was gefunden aber das passiert über ein Wave File ist es möglich ein Stream zu machen und sagen wir mal immer so 1 Minute auf zu nehmen und auszuwerten danach wieder von forne
Code:
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Wave, dspDTMF;

type
  TfmMain = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Label1: TLabel;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);

  private
    DTMF: TdspDTMF; // DTMF decoder (see the dspDTMF unit)
    procedure OnTone(Sender: TObject; Tone: Char);
  end;

var
  fmMain: TfmMain;

implementation

{$R *.dfm}

procedure TfmMain.FormCreate(Sender: TObject);
begin
  Caption:= Application.Title;
  DTMF:= TdspDTMF.Create;
  DTMF.OnTone:= OnTone;
end;

procedure TfmMain.FormDestroy(Sender: TObject);
begin
  DTMF.Free;
end;


procedure TfmMain.Button1Click(Sender: TObject);
var
  B: Byte;
  S: SmallInt;
  Wave: TWaveFileStream;
begin
  if OpenDialog1.Execute then
  begin
    Edit1.Text:= '';
    Wave:= TWaveFileStream.Create(OpenDialog1.FileName, fmOpenRead);
    try
      Wave.Open(false);
      if Wave.Format.nChannels <> 1 then
      begin
        MessageDlg('This demo supports Mono files only', mtWarning, [mbCancel], 0);
        Edit1.Text:= 'Format not supported';
        Exit;
      end;

      DTMF.SampleRate:= Wave.Format.nSamplesPerSec;
      DTMF.Initialize;

      Caption:= 'Searching for tones...';
      Application.ProcessMessages;
      try
        if Wave.Format.wBitsPerSample = 8 then
        begin
          DTMF.Threshold:= 1; // Set amplitude threshold
          while Wave.Read(B, 1) = 1 do DTMF.Put(B)
        end else
        begin
          DTMF.Threshold:= 100; // Set amplitude threshold
          while Wave.Read(S, 2) = 2 do DTMF.Put(S);
        end;

        DTMF.Finilize;
      finally
        Caption:= Application.Title;
      end;
    finally
      Wave.Free;
      if Edit1.Text = '' then Edit1.Text:= 'not found...';
    end;
  end;
end;


procedure TfmMain.OnTone(Sender: TObject; Tone: Char);
begin
  Edit1.Text:= Edit1.Text + Tone;
end;

end.
mann fängt klein an
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#4

Re: DTMF auswertung über die Soundkarte

  Alt 13. Jan 2005, 19:36
wieso fft wenns auch mit fir geht !
Power is nothing without TControl
  Mit Zitat antworten Zitat
dac424

Registriert seit: 11. Dez 2004
21 Beiträge
 
#5

Re: DTMF auswertung über die Soundkarte

  Alt 13. Jan 2005, 20:14
wie hast du ein Beispiel was Kosten Frei Ist dan herr damit

benötigten Töne frei eingebbar anhand von Kombinationen

#01*
und .......
mann fängt klein an
  Mit Zitat antworten Zitat
dac424

Registriert seit: 11. Dez 2004
21 Beiträge
 
#6

Re: DTMF auswertung über die Soundkarte

  Alt 28. Jan 2005, 16:55
ist ja prima wie man geholfen wird nur kann den Irgen einer mal ein BeiSpiel Script schicken
was man EV abgeänder verwenden kann wir haben ja eines nur es geht halt nur mit Wav Files

was wir brauchen ist ein Streaming des Line IN oder BZW des MIK. in. als eingabe.

Leute helft doch es muss doch ein weg geben ohne Teure module zu kaufen.
mann fängt klein an
  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 16:07 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