Hallo, ich habe schon ne ganze Weile überall gesucht und bin nicht so richtig fündig geworden. Also was ich möchte ist, eine im PC eingebaute Soundkarte anzusteuern. Am ehesten in einem C Programm. Natürlich gibt es in fast jeder Programmiersprache Pakete, um z.B. Wave Dateien abzuspielen. Aber das ist nicht das was ich will. Die Abarbeitung soll quasi in Echtzeit laufen. So wie man dieses von einem Mikrocontroller kommst. Man bekommt alle x Samples automatisch einen Funktionsaufruf, der es gestattet, neue Daten an die Soundkarte zu übergeben. Ich hoffe ich konnte man Bedürfnis klar machen. Hat jemand eine Lösung dafür? Vielen Dank...
ich wollte so lange wie möglich unabhängig bleiben. Wenn es eine Lösung für Windows oder Linux gibt, reicht mir das. Ich bin in diesem Falle sehr flexibel, da auf dem entsprechenden Rechner beiden gut läuft. Daher würde ich die Möglichkeiten durch Festlegung auf ein bestimmtes Betriebsystem nicht einschränken wollen. Vielen Dank...
Es gibt ein Buch mit Begleit-CD mit einer Studentenversion der Software DASYLab (Version 7), die die Soundkarte und die serielle Schnittstelle mit grafischer Programmierung ähnlich Labview ansteuert: http://www.amazon.de/Signale-Prozesse-Systeme-Ulrich-Karrenberg/dp/3540241787/sr=8-6/qid=1169111026/ref=sr_1_6/303-1342481-6991418?ie=UTF8&s=books und ein Programm mit Erweiterungsschnittstelle oder so ähnlich. auch für Soundkarte: http://www.qsl.net/dl4yhf/speclab/index.htm
Unter Windows ist das kein besonderes Problem; die Multimediafunktionen eignen sich dafür ganz gut. Und funktionieren daher mit jeder beliebigen Soundkarte (so sie denn Waveform-Audio wiedergeben kann). waveOutOpen öffnet ein Waveform-Audio-Device (sprich: Deine Soundkarte) Mit dem letzten Parameter kann spezifiziert werden, wie die Datenübergabe stattfindet - CALLBACK_EVENT signalisiert ein Event, wenn neue Daten benötigt werden. Auf dieses Event kannst Du in einem Thread warten und dann per waveOutWrite einen Block mit Daten absetzen. Mit waveOutPrepareHeader bereitest Du Daten für das gewünschte Format vor; das ist vor dem Schreiben mit waveOutWrite erforderlich. (Alle genannten Funktionen gehören zur Win32-API und sind in mmsystem.h deklariert)
das klingt nicht schlecht. Werde mir das mal anschauen. Gibt es eine Möglichkeit, es universell zu getalten? So dass es bei Bedarf portierbar ist? Ich denke da an irgendeine Header oder sowas. Habe da nicht so viel Anhnung, ihr merkt das sicherlich schon...
SDL vielleicht Ansonsten bietet sich je nach Anwendung vielleicht Octave oder Scilab an...
Kann man unter Linux ne Wave nicht direkt an die soundkarte schicken? Wenn ja, brauchst du nur das device zu öffnen und die wave reinschreiben (alles ist eine datei ;) ).
Delphi + TAudio - puffer für eingang und ausgang (zahl einstellbar) - Interrupt bei Leerlauf (Ausgangspuffer)/Volllaufen (Eingangspuffer)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.