Dispositivi endpoint audio

Il termine dispositivo endpoint si riferisce a un dispositivo hardware che si trova a una fine di un percorso dati che ha origine o termina in un programma dell'applicazione. Esempi di dispositivi endpoint audio sono altoparlanti, cuffie, microfoni e lettori CD. I dati audio che si spostano lungo il percorso dei dati potrebbero attraversare diversi componenti software e hardware durante il percorso tra l'applicazione e il dispositivo endpoint. Anche se questi componenti sono essenziali per il funzionamento del dispositivo endpoint, tendono a essere invisibili agli utenti. Gli utenti sono più propensi a pensare in termini di dispositivi endpoint che manipolano direttamente anziché in termini di dispositivi su schede audio che i dispositivi endpoint collegano o in termini di componenti software che elaborano i flussi audio da e verso queste schede.

Per evitare confusione con i dispositivi endpoint, questa documentazione fa riferimento a un dispositivo in una scheda audio come dispositivo adattatore.

Il diagramma seguente mostra come i dispositivi endpoint audio differiscono dai dispositivi adattatori.

examples of audio endpoint devices and adapter devices

Nel diagramma precedente sono riportati esempi di dispositivi endpoint:

  • Relatori
  • Microphone
  • Dispositivo di input ausiliario

Di seguito sono riportati alcuni esempi di dispositivi adattatori:

  • Dispositivo di output wave (contiene convertitore digitale-analogico)
  • Dispositivo di controlli di output (contiene controlli volume e disattivazione disattivata)
  • Dispositivo di input wave (contiene convertitore analogico-digitale)
  • Dispositivo controlli di input (contiene il controllo del volume e multiplexer)

In genere, le interfacce utente delle applicazioni audio fanno riferimento a dispositivi endpoint audio, non ai dispositivi adattatori. Windows Vista semplifica la progettazione di applicazioni semplici da usare supportando direttamente l'astrazione del dispositivo endpoint.

Alcuni dispositivi endpoint potrebbero connettersi in modo permanente a un dispositivo adattatore. Ad esempio, un computer potrebbe contenere dispositivi interni, ad esempio un lettore CD, un microfono o altoparlanti integrati nello chassis di sistema. In genere, l'utente non rimuove fisicamente questi dispositivi endpoint.

Altri dispositivi endpoint potrebbero connettersi a una scheda audio tramite jack audio. L'utente collega e scollega questi dispositivi esterni. Ad esempio, un dispositivo endpoint audio, ad esempio un microfono esterno o cuffie, si trova a un'estremità di un cavo l'altro connettore in un jack su un dispositivo adattatore.

L'adattatore comunica con il processore di sistema tramite un bus di sistema (in genere PCI o PCI Express) o un bus esterno (USB o I edizione Enterprise E 1394) che supporta Plug and Play (PnP). Durante l'enumerazione del dispositivo, il gestore Plug and Play identifica i dispositivi nella scheda audio e registra tali dispositivi per renderli disponibili per l'uso dal sistema operativo e dalle applicazioni.

A differenza della connessione tra un adattatore e un bus esterno, ad esempio USB o I edizione Enterprise E 1394, la connessione tra un dispositivo endpoint e un dispositivo adattatore non supporta il rilevamento dei dispositivi PnP. Tuttavia, alcuni adattatori audio supportano il rilevamento della presenza di jack: quando un plug viene inserito o rimosso da un jack, l'hardware genera un interrupt per notificare al driver dell'adattatore la modifica nella configurazione hardware. Endpoint Manager in Windows Vista può sfruttare questa funzionalità hardware per notificare alle applicazioni quali dispositivi endpoint sono presenti in qualsiasi momento. In questo modo, il funzionamento di Endpoint Manager è analogo a quello del gestore Plug and Play, che tiene traccia dei dispositivi adattatori presenti nel sistema.

In Windows Vista il sistema audio tiene traccia sia dei dispositivi endpoint che dei dispositivi adattatori. Endpoint Manager registra i dispositivi endpoint e il gestore Plug and Play registra i dispositivi adattatori. La registrazione dei dispositivi endpoint rende più semplice per le applicazioni descrittive consentire agli utenti di fare riferimento ai dispositivi endpoint che gli utenti modificano direttamente anziché fare riferimento a dispositivi adattatori che potrebbero essere nascosti all'interno dello chassis del computer. I dispositivi endpoint segnalati dal sistema operativo tengono traccia fedelmente delle modifiche dinamiche nella configurazione dell'hardware audio con rilevamento della presenza di jack. Mentre un dispositivo endpoint rimane collegato, il sistema enumera il dispositivo. Quando l'utente scollega un dispositivo endpoint, il sistema smette di enumerarlo.

Nelle versioni precedenti di Windows, tra cui Windows 98, Windows Me, Windows 2000 e Windows XP, il sistema presenta in modo esplicito solo i dispositivi PnP alle applicazioni. Di conseguenza, le applicazioni devono dedurre l'esistenza di dispositivi endpoint. Un sistema operativo che non supporta esplicitamente i dispositivi endpoint impone alle applicazioni client di eseguire più operazioni. Ad esempio, un'applicazione di acquisizione audio deve eseguire i passaggi seguenti per abilitare l'acquisizione da un microfono esterno:

  1. Enumerare tutti i dispositivi di acquisizione audio (questi sono dispositivi adattatori) registrati in precedenza dal gestore PnP.
  2. Dopo aver selezionato un dispositivo di acquisizione, aprire un flusso di acquisizione nel dispositivo chiamando la funzione waveInOpen o usando l'API DirectSoundCapture o DirectShow.
  3. Chiamare la funzione mixerOpen e usare le altre funzioni mixerXxx per cercare una linea MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE che corrisponde al dispositivo di acquisizione aperto nel passaggio 2. Questo è un'ipotesi educata.
  4. Sbloccare il percorso dati dal microfono. Se il percorso dati include un nodo disattivato, il client deve disabilitare l'audio del segnale dal microfono. Se il dispositivo di acquisizione contiene un multiplexer per la selezione tra più input, il client deve selezionare l'input del microfono.

Questo processo è soggetto a errori perché il software che esegue queste operazioni potrebbe non riuscire se rileva una configurazione hardware che i progettisti non hanno previsto o per il quale non è stato testato.

In Windows Vista, che supporta i dispositivi endpoint, il processo di connessione allo stesso dispositivo endpoint è molto più semplice:

  1. Selezionare un microfono da una raccolta di dispositivi endpoint.
  2. Attivare un'interfaccia di acquisizione audio su tale microfono.

Il sistema operativo esegue tutte le operazioni necessarie per identificare e abilitare il dispositivo endpoint. Ad esempio, se il percorso dati dal microfono include un multiplexer, il sistema seleziona automaticamente l'input del microfono per il multiplexer.

Il comportamento del sottosistema audio è più affidabile e deterministico se le applicazioni, invece di implementare i propri algoritmi di identificazione degli endpoint, possono retrocedere l'attività di identificazione dei dispositivi endpoint al sistema operativo. I fornitori di software non devono più verificare che gli algoritmi di identificazione degli endpoint funzionino correttamente con tutti i dispositivi e le configurazioni hardware audio disponibili, ma possono semplicemente basarsi sul sistema operativo per l'identificazione degli endpoint. Analogamente, i fornitori di hardware non devono più verificare che ogni applicazione client pertinente possa identificare facilmente qualsiasi dispositivo endpoint connesso alla scheda audio, ma solo per verificare che il sistema operativo sia in grado di identificare un dispositivo endpoint connesso alla scheda audio.

Gli argomenti seguenti forniscono informazioni aggiuntive sui dispositivi endpoint audio:

Guida per programmatori