Interfacce audio principali

Questo riferimento alla programmazione per Core Audio SDK include le interfacce seguenti:

MMDevice API

L'API Windows Multimedia Device (MMDevice) consente ai client audio di individuare i dispositivi endpoint audio, determinarne le funzionalità e creare istanze del driver per tali dispositivi. Il file di intestazione Mmdeviceapi.h definisce le interfacce nell'API MMDevice. Per altre informazioni, vedere Informazioni sull'API MMDevice.

La tabella seguente elenca le interfacce MMDevice disponibili con Core Audio SDK per Windows Vista.

Interfaccia Descrizione
IMMDevice Rappresenta un dispositivo audio.
IMMDeviceCollection Rappresenta una raccolta di dispositivi audio.
IMMDeviceEnumerator Fornisce metodi per enumerare i dispositivi audio.
IMMEndpoint Rappresenta un dispositivo endpoint audio.
IMMNotificationClient Fornisce notifiche quando un dispositivo endpoint audio viene aggiunto o rimosso, quando lo stato o le proprietà di un dispositivo cambiano o quando si verifica una modifica del ruolo predefinito assegnato a un dispositivo.

WASAPI

L'API sessione audio windows (WASAPI) consente alle applicazioni client di gestire il flusso di dati audio tra l'applicazione e un dispositivo endpoint audio. I file di intestazione Audioclient.h e Audiopolicy.h definiscono le interfacce WASAPI. Per altre informazioni, vedere Informazioni su WASAPI.

La tabella seguente elenca le interfacce WASAPI disponibili con Core Audio SDK per Windows Vista e versioni successive.

Interfaccia Descrizione
IActivateAudioInterfaceAsyncOperation Rappresenta un'operazione asincrona che attiva un'interfaccia WASAPI e fornisce un metodo per recuperare i risultati dell'attivazione.
Si applica a partire da Windows 8.
IActivateAudioInterfaceCompletionHandler Fornisce un callback per indicare che l'attivazione di un'interfaccia WASAPI è stata completata.
Si applica a partire da Windows 8.
IAudioCaptureClient Consente a un client di leggere i dati di input da un buffer dell'endpoint di acquisizione.
IAudioClient Consente a un client di creare e inizializzare un flusso audio tra un'applicazione audio e il motore audio o il buffer hardware di un dispositivo endpoint audio.
IAudioClock Consente a un client di monitorare la frequenza dei dati di un flusso e la posizione corrente nel flusso.
IAudioClock2
Consente a un client di ottenere la posizione corrente del dispositivo.
IAudioClockAdjustment
Consente a un client di impostare la frequenza di campionamento di un flusso.
IAudioRenderClient Consente a un client di scrivere dati di output in un buffer dell'endpoint di rendering.
IAudioSessionControl Consente a un client di configurare i parametri di controllo per una sessione audio e di monitorare gli eventi nella sessione.
IAudioSessionControl2
Consente a un client di ottenere informazioni sulla sessione audio.
IAudioSessionManager Consente a un client di accedere ai controlli sessione e ai controlli del volume sia per sessioni audio specifiche del processo che per le sessioni audio specifiche del processo.
IAudioSessionManager2
Gestisce tutti i submix, tra cui enumerazione e notifica di sottomix. Fornisce inoltre supporto per le notifiche di anatraggio.
IAudioSessionEnumerator
Consente a un client di enumerare le sessioni audio.
IAudioStreamVolume Consente a un client di controllare e monitorare i livelli di volume per tutti i canali in un flusso audio.
IChannelAudioVolume Consente a un client di controllare i livelli di volume per tutti i canali nella sessione audio a cui appartiene il flusso.
ISimpleAudioVolume Consente a un client di controllare il livello di volume master di una sessione audio.
IAudioSessionEvents Fornisce notifiche di eventi correlati alla sessione, ad esempio modifiche a livello di volume, nome visualizzato e stato della sessione.
IAudioSessionNotification
Invia notifiche quando si verificano modifiche alla sessione.
IAudioVolumeDuckNotification
Invia notifiche sulle modifiche di anatramento del sistema in sospeso.

DeviceTopology API

L'API DeviceTopology offre alle applicazioni client la possibilità di attraversare le topologie hardware funzionali del rendering e dell'acquisizione di dispositivi audio. Il file di intestazione Devicetopology.h definisce le interfacce nell'API DeviceTopology. Per altre informazioni, vedere Topologie di dispositivo e API DeviceTopology.

La tabella seguente elenca le interfacce DeviceTopology disponibili con Core Audio SDK per Windows Vista e versioni successive.

Interfaccia Descrizione
IAudioAutoGainControl Fornisce l'accesso a un controllo AGC (Automatic Gain Control) hardware.
IAudioBass Fornisce l'accesso a un controllo a livello di basso hardware.
IAudioChannelConfig Fornisce l'accesso a un controllo di configurazione del canale hardware.
IAudioInputSelector Fornisce l'accesso a un controllo multiplexer hardware (selettore di input).
IAudioLoudness Fornisce l'accesso a un controllo di compensazione "ad alta voce".
IAudioMidrange Fornisce l'accesso a un controllo a livello intermedio hardware.
IAudioMute Fornisce l'accesso a un controllo di disattivazione dell'hardware.
IAudioOutputSelector Fornisce l'accesso a un controllo demultiplexer hardware (selettore di output).
IAudioPeakMeter Fornisce l'accesso a un controllo del contatore di picco hardware.
IAudioTreble Fornisce l'accesso a un controllo a livello di treble hardware.
IAudioVolumeLevel Fornisce l'accesso a un controllo del volume hardware.
I Connessione or Rappresenta un punto di connessione tra i componenti.
IControlInterface Rappresenta un'interfaccia di controllo in una parte (subunit o connettore).
IDeviceSpecificProperty Rappresenta una proprietà specifica del dispositivo di un connettore o di una subunit.
IDeviceTopology Fornisce l'accesso alla topologia di un dispositivo audio.
IKsFormatSupport Fornisce informazioni sui formati di dati audio supportati da una connessione I/O configurata dal software (in genere un canale DMA) tra il dispositivo audio e la memoria di sistema.
IKsJackDescription Fornisce informazioni sui jack o sui connettori interni che forniscono una connessione fisica tra un dispositivo in una scheda audio e un dispositivo endpoint esterno o interno (ad esempio, un microfono o un lettore CD).
IKsJackDescription2
Fornisce un accesso pratico alla proprietà KSPROPERTY_JACK_DESCRIPTION2 di un connettore a un dispositivo endpoint.
IKsJackSinkInformation
Fornisce informazioni sul sink jack se il jack è supportato dall'hardware.
IPart Rappresenta una parte (connettore o subunit) di una topologia del dispositivo.
IPartsList Rappresenta un elenco di parti (connettori e sottouniti).
IPerChannelDbLevel Rappresenta un'interfaccia di controllo di subunit generica che fornisce il controllo per canale sul livello del volume, in decibel, di un flusso audio o di una banda di frequenza in un flusso audio.
ISubunit Rappresenta una subunit hardware (ad esempio, un controllo a livello di volume) che si trova nel percorso dei dati tra un client e un dispositivo endpoint audio.
IControlChangeNotify Fornisce notifiche quando lo stato di una parte (connettore o subunit) cambia.

EndpointVolume API

L'API EndpointVolume consente ai client specializzati di controllare e monitorare i livelli di volume dei dispositivi endpoint audio. Il file di intestazione Endpointvolume.h definisce le interfacce nell'API EndpointVolume. Per altre informazioni, vedere EndpointVolume API .

La tabella seguente elenca le interfacce EndpointVolume disponibili con Core Audio SDK per Windows Vista.

Interfaccia Descrizione
IAudioEndpointVolume Rappresenta i controlli del volume nel flusso audio da o verso un dispositivo endpoint audio.
IAudioEndpointVolumeEx
Fornisce controlli del volume nel flusso audio da o verso un endpoint del dispositivo.
IAudioMeterInformation Rappresenta un misuratore di picco nel flusso audio da o verso un dispositivo endpoint audio.
IAudioEndpointVolumeCallback Fornisce notifiche quando cambia il livello del volume o lo stato di disattivazione di un dispositivo endpoint audio.

Informazioni di riferimento sulla programmazione