Thread View: de.comp.lang.c++
2 messages
2 total messages
Started by Christian Kuhn
Thu, 07 Mar 1996 10:24
Soundkartenprogrammierung unter Windows
Author: 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
Re: Soundkartenprogrammierung unter Windows
Author: Stefan Nickl
Date: Thu, 07 Mar 1996 12:29
Date: Thu, 07 Mar 1996 12:29
20 lines
982 bytes
982 bytes
Christian Kuhn (Christian.Kuhn@RZ.TU-Ilmenau.de) wrote:
:
: 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
Ich hatte mal so ein aehnlches Problem bei der Ausgabe, versuch mal statt
WAVEFORMAT PCMWAVEFORMAT (oder so aehnlich)
--
SN
http://www-stud.htw-kempten.de/~snickl
mailto:snickl@linux1.rz.htw-kempten.de
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads