Newsgroup: it.comp.programmare.win32
Titolo: Suonare un Wave con VC++ in NT

Devo fare eseguire un file wave alla mia applicazione, creata in VC++ e che 
gira su NT.
Purtroppo non posso utilizzare OCX (per problemi miei) e ho deciso di 
ricorrere alla funzione PlaySound (ripèortata anche da MSDN).
Il problema è che questa funzione non mi da alcun problema su 95/98/me (si 
sente il suono) mentre su NT la funzione mi restituisce un valore secondo 
cui 
tutto sarebbe ok  ma non si sente nulla.
Qualcuno ha utilizzato questa funzione oppure ha idee su come realizzare ciò 
che voglio (anche senza la PlaySound)?
     Grazie a tutti
         Massimo
------------------------------------------------------------
 Get your FREE web-based e-mail and newsgroup access at:
 
http://MailAndNews.com
 Create a new mailbox, or access your existing IMAP4 or
 POP3 mailbox from anywhere with just a web browser.
------------------------------------------------------------

Io ho usato la PlaySound su Windows NT 4.0 SP6 (workstation), ed ha
funzionato. Potrebbe essere un problema di scheda sonora: hai controllato
che sia installata correttamente?
L'ho usata cosě:
PlaySound("Timer.wav", NULL, 0);
dove Timer.wav č un piccolo wave posto nella stessa cartella
dell'eseguibile.
Ciao,
Fra.

 funziona.
Ho controllato, anche a me dice la stessa cosa. Io ho una scheda audio
on-board SiS; comunque se qualche suono riesci a sentirlo, allora la scheda
audio funziona ed č installata bene. L'unica cosa che mi viene in mente č
che il wave sia troppo grosso, ma mi sembra poco probabile... L'MSDN recita
(nella parte relativa a PlaySound):
"The sound specified by pszSound must fit into available physical memory and
be playable by an installed waveform-audio device driver. "
Buona fortuna!
Fra.

>>>>> "MB" == Massimo Bonanni <massimo...@MailAndNews.com> writes:
MB> Devo fare eseguire un file wave alla mia applicazione, creata in
MB> VC++ e che gira su NT.
Usa waveIO. Non banale (richiede di gestire un certo numero di buffer
per gestire l'esecuzione e di scrivere una callback) ma č molto buono.
Io avevo lavorato con 4 buffer (per sicurezza).
La   funzione  principale  caricava   i  4   buffer  e   ne  "lanciava
l'esecuzione" per fermarsi in attesa che un buffer si liberasse (avevo
usato un semaforo).
La callback, ad esecuzione di  un buffer completata, lo riaccodava tra
i  disponibili e  segnalava il  semaforo (incremento  di 1  per buffer
delle risorse disponibili).
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: sierra alfa india november tango AT echo november golf DOT india tango
.

 per gestire l'esecuzione e di scrivere una callback) ma è molto buono.


per gestire l'esecuzione e di scrivere una callback) ma č molto buono.
PlaySound
molto piu' semplice.
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

>PlaySound
Correggo... leggo solo ora che non si puo' usare.... :)


 tutto sarebbe ok  ma non si sente nulla.
Anche io ho usato PlaySound() senza problemi sotto a NT4, e non sono a
conoscenza di problemi noti fra i due. Ammesso che non sia un problema
di mixer (alcune schede sonore installano un mixer con una serie di
slider talmente lunga che serve una giornata per impararseli),
probabilmente hai dei piccoli problemi di driver da risolvere.
P.S. Prova anche con sndPlaySound(), non dovrebbe fare differenza ma non
si sa mai.
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/

 writes:
RP> Puoi darmi un esempio?
RP> Quelli di MSDN sono "chiarissimi" come al solito.
RP> Grazie.
Mi dispiace,  non posso  :(! E'  roba del '97  e oltretutto  sotto (C)
della GeneralMusic & Università di Padova.
Ti conviene  guardare più la documentazione  delle chiamate waveOpen()
wavePrepareHeader() e le altre del  gruppo sullo SDK andandoti anche a
studiare  le  strutture. Non  è  un lavoro  banale  ma  non è  nemmeno
lunghissimo.


> per gestire l'esecuzione e di scrivere una callback) ma č molto buono.
AL> PlaySound
AL> molto piu' semplice.
Si, ma non altrettanto potente :). Non ho usato waveIO per complicarmi
la vita quando lo ho usato :)
