Rtaudio

Rtaudio es un conjunto de clases de C ++ que proporcionan una API común.
Descargar ahora

Rtaudio Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • GPL
  • Precio:
  • FREE
  • Nombre del editor:
  • Gary P Scavone
  • Sitio web del editor:
  • http://www.music.mcgill.ca/~gary/rtaudio/

Rtaudio Etiquetas


Rtaudio Descripción

Rtaudio es un conjunto de clases de C ++ que proporcionan una API común. RTAUDIO es un conjunto de clases de C ++ que proporcionan una API común para la entrada / salida de audio en tiempo real a través de Linux (Jack, ALSA y OSS), sistemas operativos Macintosh OS X, SGI y Windows (DirectSound y ASIO). Rtaudio simplifica significativamente el proceso de interacción con el hardware de audio de la computadora. Aquí hay algunas características clave de "Rtaudio": · Diseño de C ++ orientado a objetos · API simple, común en todas las plataformas compatibles · Solo dos archivos de encabezado y un archivo fuente para una fácil inclusión en la programación Proyectos · Permitir soporte de múltiples API simultáneo · Funcionalidad de bloqueo · Funcionalidad de devolución de llamada · Control de parámetros de dispositivo de audio extenso · Probilización de capacidades de dispositivo de audio · Conversión interna automática para formato de datos, compensación de números de canal, deserlagación y byte-swappingrtaudio incorpora el concepto de audio Corrientes, que representan la salida de audio (reproducción) y / o entrada (grabación). Los dispositivos de audio disponibles y sus capacidades se pueden enumerar y luego se especifican al abrir un flujo. Cuando corresponda, se puede compilar un soporte de API múltiple y una API particular especificada al crear una instancia de RTAAUDIO. Consulte la sección de Notas API para obtener información específica para cada una de las API de audio compatibles. La API de RTAUDIO proporciona la funcionalidad de bloqueo (síncrono) y de devolución de llamada (asíncrona). Las devoluciones de llamadas se usan normalmente junto con las interfaces de usuario gráficas (GUI). La funcionalidad de bloqueo es a menudo necesaria para el control explícito de la sincronización de flujo de entrada / salida múltiple o cuando el audio debe sincronizarse con otros eventos del sistema. Engetting comenzó con la versión 3.0, ahora es posible compilar un soporte de API múltiple en una plataforma determinada y especificar una opción de API durante la instancias de clase. En los ejemplos que siguen, no se especificará ninguna API (en cuyo caso, Rtaudio intenta seleccionar la API más "lógica" disponible). La primera cosa que debe hacerse cuando se usa Rtaudio es crear una instancia de la clase. El constructor predeterminado escanea el sistema de audio subyacente para verificar que al menos un dispositivo esté disponible. Rtaudio a menudo utiliza excepciones de C ++ para informar errores, lo que requiere intento / bloques de captura en la mayoría de las funciones miembros. El siguiente ejemplo de código demuestra la construcción de objetos predeterminados y la destrucción: #include "rtaudio.h" int main () {rtaudio * audio = 0; // predeterminado Rtaudio constructor intente {audio = nuevo rtaudio (); } captura (error de RTERROR) {// manejar la excepción aquí Error.printMessage (); } // Limpiar eliminar audio;} Obviamente, este ejemplo no demuestra ninguna de las funciones real de Rtaudio. Sin embargo, todos los usos de RTAAUDIO deben comenzar con un constructor (ya sea variedades predeterminadas o sobrecargadas) y deben terminar con la destrucción de la clase. Además, es necesario que se llamen a todos los métodos de clase que puedan lanzar una excepción de C ++ dentro de un bloque de prueba / captura. Lo que está nuevo en esta versión: · Rtaudio ahora permite el soporte simultáneo de MULTI-API. Por ejemplo, puede compilar Rtaudio para proporcionar tanto soporte de DIRECTSOUND y ASIO en plataformas Windows o ALSA, JACK y OSS Soporte en plataformas Linux. Esto se logró creando una clase base abstracta, RTAPI, con subclases para cada API compatible (RTapialsa, RTAPIJACK, RTAPIOSOS, RTAPIDS, RTAPIASIO, RTAPICORE y RTAPIAL). La clase Rtaudio es ahora un "controlador" que crea una instancia de una subclase RTAPI en función de la elección de la API del usuario a través de un argumento de instancias de RTAAUDIOAPI opcional. Si no se especifica ninguna API, Rtaudio intenta hacer una selección de API "lógica". · Se ha agregado la compatibilidad con el servidor de audio de baja latencia de Jack con esta versión de Rtaudio. Es necesario que el servidor de Jack se ejecute antes de crear una instancia de RTAudio. · Se han realizado varios cambios de API en la versión 3.0 de RTAAUDIO en un esfuerzo para proporcionar un comportamiento más consistente en todas las API de audio compatibles. El más importante de estos cambios es que se ha descontinuado múltiples soportes de transmisión de una sola instancia de RTAADIO. Como resultado, ya no se requieren argumentos de entrada del identificador de transmisión. Además, la función RTAAUDIO :: StreamWillBlock () fue poco compatible con la mayoría de las API y se ha desaprobado (aunque la función aún existe en aquellas subclases de RTAPI que permiten que se implemente implementada). · La función Rtaudio :: GetDeviceInfo () fue Modificado para devolver una estructura de RTAudiodeviceFo definida a nivel mundial. Esta estructura es una versión simplificada de la estructura de RTAudio_Device anterior. Además, la estructura de Rtaudio_Format se cambió a llamarse RTAUDIOFORMAT y se definió a nivel mundial dentro de Rtaudio.h. Estos cambios se hicieron para mayor claridad y para adaptarse mejor a las prácticas de programación estándar de C ++. · La declaración de clase de RTERROR y la definición se han extraído a un archivo separado (RTERROR.H). Esto se hizo en preparación para una nueva versión de la clase RTMIDI (planificada para el verano de 2004).


Rtaudio Software relacionado

libgnurdf

Libgnurdf es una biblioteca GNUPDATE RDF que proporciona acceso rápido y fácil a los archivos RDF (Formato de descripción de recursos XML). ...

105

Descargar

Isq

ISQ (le pregunto) es una biblioteca de extensión de etiqueta que le ayuda a hacer formularios HTML. ...

153

Descargar

libmemory

Libmemory Library proporciona una implementación de M.M. Algoritmo de reclamación de memoria segura de Micheal en C. ...

138

Descargar