Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi WAVE-Sound über Soundkarte aufnehmen (https://www.delphipraxis.net/85577-wave-sound-ueber-soundkarte-aufnehmen.html)

3_of_8 1. Feb 2007 20:05


WAVE-Sound über Soundkarte aufnehmen
 
Morgen.

Ich versuche momentan, WAVE-Sounds über die WaveIn-Funktionen von MMSystem aufzunehmen.

Mein Ansatz:
Delphi-Quellcode:
var WaveHdr: TWaveHdr
    ID: HWAVEIN;
    Format: TWaveFormatEx;
begin
  Format.wFormatTag:=0;
  Format.nChannels:=1;
  Format.nSamplesPerSec:=SampleRate;
  Format.wBitsPerSample:=16;
  Format.nAvgBytesPerSec:=2*SampleRate;
  Format.nBlockAlign:=2;
  Format.cbSize:=sizeof(Format);
  waveInOpen(@ID, Device, @Format, 0, 0, 0);
  waveInPrepareHeader(ID, @wavehdr, sizeof(wavehdr));
  waveInAddBuffer(ID, @wavehdr, sizeof(wavehdr));
  waveInStart(ID);
 
  //1 Sek. später
  waveInStop(ID);
  waveInClose(ID);
end;
Dummerweise ist WaveHdr jedoch komplett mit Nullen gefüllt. Warum?

inherited 1. Feb 2007 20:36

Re: WAVE-Sound über Soundkarte aufnehmen
 
Schau dir mal das an: http://www.swissdelphicenter.ch/de/showcode.php?id=132

3_of_8 1. Feb 2007 20:38

Re: WAVE-Sound über Soundkarte aufnehmen
 
1. Will ich das ohne MCI machen (und auch ohne BASS)
2. Will ich die eingelesenen Daten nicht in eine Datei speichern, sondern in ein Array/einem Stream haben.

SirThornberry 1. Feb 2007 20:50

Re: WAVE-Sound über Soundkarte aufnehmen
 
hast du dir denn mal "TWaveHdr" angeschaut? Nirgendwo initialisierst du die Variable. Und wenn du dir in der Hilfe den Typ anschaust wirst du sehen das du da einen Pointer auf deinen Datenpuffer etc. angeben musst. Ohne Hilfe anschauen wirst du bei diesem Thema nicht weit kommen

3_of_8 1. Feb 2007 20:53

Re: WAVE-Sound über Soundkarte aufnehmen
 
*kratz*

Ich dachte, das ist eine Ausgabevariable für das ganze... Wo finde ich denn die Dokumentation für diese Funktionen?

SirThornberry 1. Feb 2007 20:56

Re: WAVE-Sound über Soundkarte aufnehmen
 
eine Dokumentation der Funktionen gibt es im MSDN

An dieser Stelle hier hab ich mal das ganze für die Ausgabe gepostet, das Prinzip ist aber das gleiche nur das eben der Puffer in deinem fall die Daten danach enthält und nicht damit gefüttert werden muss.
http://www.delphipraxis.net/internal...=657793#657793

Für den Einstieg in das Thema finde ich das Buch: Delphi Win32 Multimedia-Api von Alan C. Moore ganz gut.
Allerdings weiß ich nicht ob es dieses Buch noch gibt da auf meinem Exemplar noch DM-Preise stehen.
Achja, das Buch ist vom S&S Verlag.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz