Retaudio.

RTAudio ist ein Satz von C ++ - Klassen, die eine gemeinsame API bereitstellen.
Jetzt downloaden

Retaudio. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Gary P Scavone
  • Website des Verlags:
  • http://www.music.mcgill.ca/~gary/rtaudio/

Retaudio. Stichworte


Retaudio. Beschreibung

RTAudio ist ein Satz von C ++ - Klassen, die eine gemeinsame API bereitstellen. RTAudio ist ein Satz von C ++ - Klassen, die eine gemeinsame API für Echtzeit-Audio-Eingabe / Ausgabe über Linux-OS X-, SGI-, Macintosh OS X-, SGI-, Macintosh OS X-, SGI- und Windows-Betriebssysteme (DirectSound- und ASIO) bereitstellen. Rtaudio vereinfacht den Prozess des Interagierens mit Computer-Audio-Hardware Projekte · Erlauben Sie gleichzeitige Multi-API-Unterstützung · Blockierfunktionalität · Callback-Funktionalität · Umfangreiches Parametersteuerung von Audiogeräten · Audiogerät-Kapazitäts-Prognose · Automatische interne Konvertierung für das Datenformat, Kanalnummernkompensation, De-Interleaving und Byte-SwappingRtaudio enthält das Konzept des Audios Streams, die Audioausgabe (Wiedergabe) und / oder Eingabe (Aufnahme) darstellen. Verfügbare Audiogeräte und ihre Fähigkeiten können aufgezählt und beim Öffnen eines Stroms angegeben werden. Falls zutreffend, kann mehrere API-Unterstützung kompiliert werden und eine bestimmte API, die beim Erstellen einer RTAudio-Instanz angegeben wird. Weitere Informationen finden Sie im Abschnitt API HINWEISE für Informationen, die für jede der unterstützten Audio-APIs spezifisch sind. Die RTAudio-API bietet sowohl Blocking (Synchronous) als auch Callback (Asynchronous) -Funktionalität. Callbacks werden typischerweise in Verbindung mit grafischen Benutzeroberflächen (GUI) verwendet. Die Blockierfunktionalität ist häufig erforderlich, um eine explizite Steuerung mehrerer Eingabe- / Ausgabestromsynchronisation zu steuern, oder wenn Audio mit anderen Systemereignissen synchronisiert werden muss während der Klasse Instantiation. In den folgenden Beispielen wird keine API angegeben (In diesem Fall versucht RTAudio, die logische "logische" API auszuwählen). Das erste, was bei der Verwendung von RTAudio getan werden muss, besteht darin, eine Instanz der Klasse zu erstellen. Der Standardkonstruktor scannt das zugrunde liegende Audiosystem, um zu überprüfen, ob mindestens ein Gerät verfügbar ist. RTAudio verwendet häufig C ++ -E-Ausnahmen, um Fehler zu melden, um Therg- / Fangblöcke um die meisten Mitgliederfunktionen zu erfordern. Das folgende Codebeispiel zeigt Standardobjektkonstruktion und -zerstörung: #include "rtaudio.h" int main () {rtaudio * audio = 0; // Standard-RTAudio-Konstruktor versuchen Sie {Audio = New Rtaudio (); } Catch (RTERTERROR ERROR) {// Behandeln Sie die Ausnahme hier error.printMessage (); } // Reinigen Sie das Audio löschen;} Natürlich demonstriert dieses Beispiel keine der echten Funktionalität von RTAudio. Alle Verwendungen von RTAudio müssen jedoch mit einem Konstruktor (entweder standardmäßige oder überlastete Sorten) beginnen und muss mit der Zerstörung der Klasse enden. Darüber hinaus ist es notwendig, dass alle Klassenmethoden, die eine C ++ -E-Ausnahme auslösen können, innerhalb eines Versuchs- / Fangblocks aufgerufen werden. Was in dieser Version neu ist: · Rtaudio erlaubt jetzt die gleichzeitige Multi-API-Unterstützung. Beispielsweise können Sie RTAudio kompilieren, um sowohl DirectSound- als auch ASIO-Support auf Windows-Plattformen oder ALSA-, JACK- und OSS-Support auf Linux-Plattformen bereitzustellen. Dies wurde erreicht, indem er eine abstrakte Basisklasse, RTAPI, mit Unterklassen für jede unterstützte API (RTAPIALSA, RTAPIJACK, RTAPIOSS, RTAPIDS, RTAPIAIO, RTAPIOSE und RTAPIAL) erstellen. Die Klasse RTAudio ist jetzt ein "Controller", der eine Instanz eines RTAPI-Unterklasses basierend auf der API-Auswahl des Benutzers über ein optionales RTAudio :: RTAudioAPI-Instantiationsargument erstellt. Wenn keine API angegeben ist, versucht RTAudio, eine "logische" API-Auswahl vorzunehmen. · Der Support für den Audio-Server von JACK Low-Latenz wurde mit dieser Version von RTAudio hinzugefügt. Es ist notwendig, dass der JACK-Server ausgeführt wird, bevor er eine Instanz von RTAudio erstellt. · In Version 3.0 von RTAudio wurden mehrere API-Änderungen vorgenommen, um mehr konsistentes Verhalten in allen unterstützten Audio-APIs bereitzustellen. Die bedeutendste dieser Änderungen ist, dass mehrere Stream-Unterstützung von einer einzelnen RTAudio-Instanz eingestellt wurde. Als Ergebnis sind Stream-ID-Eingabeargumente nicht mehr erforderlich. Die Funktion von RTAudio :: StreamWillblock () wurde von den meisten APIs schlecht unterstützt und wurde abgeschaltet (obwohl die Funktion in diesen Unterklassen von RTAPI noch vorhanden ist, die es implementiert werden können). · Die Funktion RTAudio :: getdeviceinfo () war modifiziert, um eine global definierte RTAudiodeviceInfo-Struktur zurückzugeben. Diese Struktur ist eine vereinfachte Version der vorherigen RTAudio_Device-Struktur. Darüber hinaus wurde die RTAudio_Format-Struktur rtaudioFormat umbenannt und global in Rtaudio.h definiert. Diese Änderungen wurden für Klarheit getroffen und konform mit Standard-C ++ - Programmierpraktiken besser entsprechen. · Die RTERTERROR-Klassenerklärung und Definition wurden in eine separate Datei (RTERROR.H) extrahiert. Dies wurde in Vorbereitung auf eine neue Version der RtMidi Klasse (geplant für Sommer 2004) durchgeführt.


Retaudio. Zugehörige Software

Yastr.

YASSTR ist eine einfache String-Bibliothek, die hauptsächlich aus Funktionalität besteht, die ich in meinen Programmen benötige. ...

137

Herunterladen