meinst du
snd_pcm_t *soundKarte
?
das ist wschl Teil des Problems, eventuell wäre es das beste, ein Objekt daraus zu machen mit den Methoden
init()
open()
close()
play()
record()
ich würde sie ansonsten in einer Funktion
Code:
snd_pcm_t * init_soundKarte(soundKarte){
snd_pcm_t * retstruc = soundKarte;
//...
//...
return retstruc;
}
eingangs lokal mit Werten initialisieren, dann kannst du sie als Struktur an andere Funktionen über den Pointer weiterreichen.
Der allererste Aufruf müsste dann in main() erfolgen.
In main() müsste dazu nur stellvertretend eine lokale Variable
snd_pcm_t * soundKarte;
angelegt werden.
Dann wird hier per
init_soundKarte(soundKarte);
die Struktur "gefüllt",
und dann kann sie im Rest des Programms entsprechend weiter gereicht und benutzt werden, und so hat man sie per Parameter dort zur Verfügung.
z.B. auch in
Code:
bool UnInit(soundKarte)
{
snd_pcm_close(soundKarte);
return true;
}
und entsprechend an allen anderen Funktionen, wie z.B. auch als weiterer Parameter in Init().
Meintest du es so in etwa?
ps,
Ich sehe allerdings in deinem Code auch gar nicht die Stelle, wo soundKarte überhaupt erstmalig mit Werten "gefüllt" wird... :-/
Lesezeichen