\\ Home : Articoli : Stampa
DirectSound - Enumerazione
Di RobyDx (del 28/10/2007 @ 14:12:36, in DirectX9, linkato 2511 volte)

L'enumerazione Direct Sound è un processo di interrogazione delle schede audio del computer al fine di ricevere informazioni sulle loro possibilità e poter quindi adattare il programma alle capacità della macchina su cui gira. Dato che su un computer possono esistere diverse periferiche con la funzione di riproduzione audio la cosa risulta quindi utile anche per poter scegliere quale usare. Le enumerazioni per Direct Sound sono molto semplici e quindi il mio tutorial sarà breve (per mia fortuna).

Dim elenco As New DevicesCollection()
Dim dev As DeviceInformation
For Each dev In elenco
'qui interrogherete dev per ottenere le informazioni
Next

L'oggetto dichiarato e creato di tipo DeviceCollection è una collezione di DeviceInformation. Scorrendole con un ciclo si potrà quindi leggere tramite un oggetto DeviceInformation le caratteristiche di tutte le schede abilitate alla riproduzione audio.
Dev contiene i seguenti campi
ModuleName : nome della scheda
Guid : guida da inserire nella creazione del Device (precedente tutorial). Una guida è una lista di caratteri che identificano una periferica. Inserendo una guida creerete il device con quella scheda.
Se invece volete vedere quali schede sono adatte alla cattura audio usate

Dim elencoC As New CaptureDevicesCollection()

Anzichè DeviceCollection.
Per enumerare le caratteristiche di una scheda create un device per quella scheda

Dim directSound As New Device(guida)

e leggete le proprietà caps del device. Eccone alcune

SecondaryMono: se true i suoni possono essere mono

SecondaryStereo: se true i suoni possono essere stereo

MaxSecondarySampleRate e MinSecondarySampleRate: sample rate dei suoni supportati

MaxHardware3DAllBuffers: numero di suoni 3D caricabili

MaxHardwareMixingAllBuffers: numero di suoni caricabili

Questi sono solo alcuni ma non c'è ne sono moltissimi. Ecco un esempio che enumera le caratteristiche della scheda audio principale. Per maggiori dettagli usate il programma CapsViewer distribuito dalla microsoft che enumera tutte le caratteristiche.

Esempio VB.Net