🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
2 messages
2 total messages Started by Christian Kuhn Thu, 07 Mar 1996 10:24
Soundkartenprogrammierung unter Windows
#1774
Author: Christian Kuhn
Date: Thu, 07 Mar 1996 10:24
60 lines
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
#1777
Author: Stefan Nickl
Date: Thu, 07 Mar 1996 12:29
20 lines
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