Einzelnen Beitrag anzeigen

HHick123

Registriert seit: 23. Jul 2007
73 Beiträge
 

Re: WaveIn-Problem bei grossen Buffern (Waveform Audio API)

  Alt 20. Mär 2008, 13:52
Ja, aber wenn ich, angenommen, der Soundkarte 2 Buffer gäbe, die z.B. je 2 Sekunden lang wären, und der Audiotreiber würde mich möglichst gleich nachdem der erste gefüllt ist benachrichtigen, dass ich ihn zurücknehmen kann, dann hätte ich ja fast noch 2 Sekunden Zeit, ihm einen neuen Buffer zu geben, bevor der zweite gefüllt ist. Das müsste sich doch zeitlich ausgehen, oder?

Anbei jedenfalls die momentane Datei...
Ist aus einem ziemlich umfangreichen Kontext herausgerissen: Dazu zu sagen ist nämlich, dass es da noch eine Unit MyMailbox gibt, die ich verwende, um strings zwischen Applikationen über ein SharedMemory herumzuschicken. Was MyWaveIO nun tut, ist folgendes:

1.) Es wartet, bis so ein string daherkommt (da sind die playfile daten hineingepackt),

2.) Nun startet er das Playback und möglichst zeitgleich die Aufnahme. Die aufgenommenen Samples werden als strings wieder mittels der unit MyMailbox weggeschickt.

3.) Wenn das Playback aus ist, läuft die Aufnahme weiter (im header der Aufnahmedaten wird ein flag gesetzt, das anzeigt, ob gleichzeitig ein Playback war. Anhand dessen - und einer soundkartenspezifischen und raumspezifischen Korrektur von ein paar duzend Millisekunden - kann man das Echo des Playbacks in der Aufnahme herausschneiden, wenn man will).

4.) Wenn ein neuer playback string daherkommt, werden Aufnahme und Wiedergabe gestoppt weiter -> 2.)

Das ganze ist quasi für einen Dialog mit einem Spracherkenner.
Viele Grüße, Helmut
Angehängte Dateien
Dateityp: pas mywaveio_138.pas (22,7 KB, 48x aufgerufen)
  Mit Zitat antworten Zitat