Article View: de.comp.lang.c++
Article #1774Soundkartenprogrammierung unter Windows
From: Christian Kuhn
Date: Thu, 07 Mar 1996 10:24
Date: Thu, 07 Mar 1996 10:24
60 lines
2649 bytes
2649 bytes
Eilt! Wer kann mir helfen?
Ich muß für einen Praktikumsversuch zur Geräuschanalyse Samples über ein
Mikrofon aufnehmen
und dazu ein Windowsprogramm schreiben. Ich will die low-level-Befehle
von mmsystem.h nutzen,
besitze Win95, Borland C++ 4.5 und eine Soundblasterkarte von Creative
Labs.
Zum Öffnen des Eingabegerätes verwende ich die Funktion
MMSYSTEM waveInOpen(
LPHWAVEIN lphWaveIn, // Zeiger auf Handler, wird zurückgeliefert
UINT IDDevice, // Inputdevice-Nummer, muß angegeben werden
LPWAVEFORMAT lpwf, // Zeiger auf Formatstruktur, muß angegeben werden
DWORD Callback, // setze ich auf 0
DWORD CbInstance // - " -
DWORD Flags); // Flags zum Öffnen, setze ich auf WAVE_ALLOWSYNC
Die Formatstruktur hat folgenden Aufbau:
typedef struct _waveformat {
WORD wFormatTag,
WORD nChannels,
DWORD nSamplesPerSec,
DWORD nAvgBytesPerSec,
WORD nBlockAlign} WAVEFORMAT;
wFormatTag setze ich auf WAVE_FORMAT_PCM, laut Hilfe ist das das einzige
Format, was
unterstützt wird. nChannels setze icxh auf 1 für mono, nSamplesPerSec
auf 11025, nAvgBytesPerSec
auf 11025, nBlockAlign auf 1. Die Funktion waveInOpen liefert mir
permanent den Fehler 32
(WAVERR_BADFORMAT) zurück, das Format wird nicht unterstützt. In mmreg.h
stehen weitere
spezielle Formate für die einzelnen Soundkarten, jedoch auch diese
Formate führen zum gleichen
Fehler. Dieser Fehler trat auf drei verschiedenen Rechnern auf
(verschiedene Windowsversionen,
verschiedene Soundkarten), so daß Installationsfehler und
Hardwareinkompatibilitäten, die sich auf
einen speziellen Rechner beziehen könnten, mit großer Wahrscheinlichkeit
auszuschließen sind. Im
Buch "Borland Pascal 7.0 für Windows" von Elmar Warken, Addison-Wesley
1993, wird das Programm
ds4.pas vorgestellt, welches die Funktion waveOutOpen verwendet. Die
Verwendung dieser
Funktion ist prinzipiell gleich, auch das WAVEFORMAT ist identisch. Auch
dieses Programm läuft
nicht, die Funktion liefert den gleichen Fehler (auf drei Rechnern
getestet).
Wer kann mir helfen?
Gruß Christian
--
>Keyboard not found. Press F1 to continue...
Christian Kuhn@RZ.TU-Ilmenau.DE
Technical Details
Message-ID:
<313EB96A.2781@RZ.TU-Ilmenau.de>Path:
arc1-ca.pugleaf.net!news.tu-ilmenau.de!usenetShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.tu-ilmenau.de!usenet From: Christian Kuhn <Christian.Kuhn@RZ.TU-Ilmenau.de> Newsgroups: de.comp.lang.c++ Subject: Soundkartenprogrammierung unter Windows Date: Thu, 07 Mar 1996 11:24:42 +0100 Organization: Technische Universitaet Ilmenau Message-ID: <313EB96A.2781@RZ.TU-Ilmenau.de> NNTP-Posting-Host: dali.rz.tu-ilmenau.de Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Mailer: Mozilla 2.0 (X11; I; IRIX 5.3 IP12)