Newsgroup: it.comp.programmare.win32
Titolo: Ascoltare brani dal CD

Sto creando un piccolo programmino in VB per gestire i brani dei CD. Fino a
quando si tratta di utilizzare i comandi MCI sul lettore CD principale non
ci sono problemi, ma vorrei fare lo stesso sul secondo lettore CD (si tratta
di un masterizzatore) del mio PC ma non capisco come. Sono riuscito a
leggere alcune informazioni di base del CD, ma non riesco ad ascoltare
nessun brano. Qualcuno sa aiutarmi?
Grazie in anticipo
bc

 wrote in message
news:fQwA4.11237$C24....@news.infostrada.it...

Domanda ovvia: hai considerato che per ascoltare i CD devi collegare il
cavetto dell'uscita audio dal masterizzatore alla scheda sonora?
Considerazione meno ovvia: di default Windows definisce una sola unita`
come lettore di CD audio (il device MCI "cdaudio"). Se vuoi definirne
piu` di una, devi farlo a mano; Una volta si faceva inserendo una nuova
stringa nel SYSTEM.INI:
[mci]
cdaudio=xxxx.drv
cdaudio2=yyyy.drv
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

Il problema è che le impostazioni di windows sembrano tutte a posto. Nel
system.ini ho trovato le impostazioni corrette:
[mci]
cdaudio=mcicda.drv
cdaudio1=mcicda.drv
...
Da VB, tramite mciSendString invio i seguenti comandi:
open cdaudio1 alias pippo
play pippo from 1 to 2 wait
...
close pippo
Ma nonostante abbia usato "cdaudio1" parte sempre il cd inserito in
"cdaudio", cioè l'unità principale. Sto impazzendo, aiuto!!!
Nota: il "Lettore CD" di Windows funziona correttamente con entrambe le
periferiche, quindi dubito ci sia qualcosa di difettoso nel pc.
bc
"Lorenzo Lutti" <lorenz...@DOHtiscalinet.it> ha scritto nel messaggio
news:8b3kl2$97j$2...@lacerta.tiscalinet.it...


 con entrambe le periferiche
Mi sono incuriosito, e cosi` ho dato un'occhiata su MSDN. La
documentazione su MCI e` veramente fatta male; apparentemente sembra che
tu debba prima "enumerare" i device ID spedendo il comando MCI_SYSINFO
con mciSendCommand(), pero` non e` molto chiaro come si faccia dopo a
ottenere i diversi device ID.


Sono miracolosamente riuscito a trovare la soluzione. Miracolosamente
perchè, come dici tu, in MSDN la documentazione è fatta veramente male. Ho
provato a fare una ricerca sul sito di MSDN e... ho provato a leggere
qualcosa che teoricamente non mi doveva interessare, anche se l'argomento è
in parte attinente:
"How to Address Multiple CDAudio Devices in Windows NT"
Il testo inizia premettendo che le informazioni contenute si riferiscono a
Win32 SDK versioni 3.5, 5.51 e 4.0... e cioè? Windows 95 e 98 sono inclusi?
Boh...
In ogni caso l'esempio riportato funziona benissimo, con la stringa
open d: type cdaudio alias cd
(dove d: è il lettore cd voluto) da utilizzare mediante mciSendString.
Vi si trova poi un esempio utilizzando mciSendCommand, leggermente più
complesso ma sicuramente più flessibile e potente.
Ho tirato un bel sospiro di sollievo, ma mi chiedo se è ammissibile che gli
help di MSDN siano così fatti male... la sintassi sopra riportata non si
trova da nessuna parte, si deve andare a spulciare negli "How to..." e nei
"PRB: ..." di MSDN. Purtroppo non c'è altra scelta, se si vuole programmare
in Windows questa è l'unica possibilità per accedere alle tecnologie di
sviluppo di Microsoft.
bye e grazie dell'aiuto
bc
"Lorenzo Lutti" <lorenz...@DOHtiscalinet.it> ha scritto nel messaggio
news:8b86r4$5lp$1...@pegasus.tiscalinet.it...


 98 sono inclusi?
Apparentemente si`, in fondo all'articolo c'e` anche "Windows 95" come
reference word.
