Thread obsoleto audio in un programma c++

drasgo

Utente Normale
Autore del topic
25 Settembre 2011
80
0
Miglior risposta
0
ciao a tutti, ho un problema con un programma che riproduce suoni... ho usato system, e quando avvio il programma si avvia anche l'audio.. però, anche se ho dato il comando di lasciare il riproduttore in una finestra nascosta, si apre in una finestra minimizzata, e quando chiudo il programma non si chiude anche l'audio...
se avete qualche consiglio su cos'altro usare per riprodurre un file audio senza eccessivi fronzoli(mixer, effetti.. ecc) sono bene accetti.. (conosco gia playsound, ma non l'ho capito granchè..)
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

(questo programma è davvero esageratamente semplice, ma a me serviva come prova per inserire i suoni in qualcosa di un pò più complicato..)
 
Riferimento: audio in un programma c++

sndrec32 funziona solo su windows e se non sbaglio solo sui sistemi operativi fino ad XP.

Usa la funzione PlaySound piuttosto:

Perfavore, Entra oppure Registrati per vedere i Link!
 
Riferimento: audio in un programma c++

si, lo so che funziona sui windows fino all'xp, ma ho scaricato il file sndrec32 e l'ho aggiunto come plugin nella cartella del programma, così quando lo compila c'è dentro, così non deve andarlo a cercare nei file system del computer in uso.. questo trucchetto dovrebbe funzionare con gli altri windows, ma non so se funziona anche con gli altri SO .. comunque uso system perche è il più semplice e, come ho gia detto, playsound l'ho gia visto ma non ho capito granchè..inoltre il mio inglese non brilla, quindi non riesco a studiarlo come si deve su msdn .. non è che per caso avete una guida su playsound in italiano?
 
Ultima modifica:
Riferimento: audio in un programma c++

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

1>------ Inizio compilazione: Progetto: njv, Configurazione: Debug Win32 ------
1> njv.cpp
1>njv.obj : error LNK2019: riferimento al simbolo esterno __imp__PlaySoundW@12 non risolto nella funzione _main
1>C:\Documents and Settings\Francesca\Documenti\Visual Studio 2010\Projects\njv\Debug\njv.exe : fatal error LNK1120: 1 esterni non risolti
========== Compilazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========
 
Riferimento: audio in un programma c++

Non hai letto *attentamente* dal link che ti ho proposto ... hai solo copiato il codice.

Quell'errore si era presentato e c'era la soluzione ... leggi meglio.
 
Riferimento: audio in un programma c++

non riesco ad aggiungere la libreria winmm.lib al progetto..

vado sulle proprieta del progetto.. c'è il linker.. la cosa che si avvicina di piu è input, dipendenze aggiuntive e l'aggiungo lì.. ma non credo sia corretto..
 
Ultima modifica:
Riferimento: audio in un programma c++

Corretto aggiungerlo in quel posto ... e quindi? Hai ricompilato?
 
Riferimento: audio in un programma c++

vediamo.. se faccio il debug, la musica parte, ma in compenso non si legge ne il cout ne l "premi un tasto per continuare".. e lo stesso col release..
ps.. non è che sapresti consigliarmi una guida per playsound in italiano? o magari una piu in generale sulle api sempre in italiano? grazie 1000
 
Ultima modifica:
Riferimento: audio in un programma c++

vediamo.. se faccio il debug, la musica parte,

Quindi hai risolto anche questo ... altrimenti avresti ancora l'errore.

Una cosa per volta ... altrimenti si fa confusione ...

ma in compenso non si legge ne il cout ne l "premi un tasto per continuare".. e lo stesso col release..

Non lo leggi perché, se non ha finito di suonare la musica, il programma non va avanti.

Se utilizzi la modalità asincrona, allora scrivi

PlaySound(TEXT ("beet.wav"), 0, SND_ASYNC);

come da documentazione

Perfavore, Entra oppure Registrati per vedere i Link!


non è che sapresti consigliarmi una guida per playsound in italiano? o magari una piu in generale sulle api sempre in italiano? grazie 1000

Guarda ... l'inglese è fondamentale per questo tipo di lavoro. Se vorrai fare qualcosa e documentarti, devi sapere *almeno* leggerlo. Non è difficile. Prova la documentazione che ti ho linkato.
 
Riferimento: audio in un programma c++

capito.. è più banale di quello che mi aspettassi.. forse i conviene cercare qualcosa di un pò più elaborato rispetto a questo..
grazie mille per l'aiuto!
 
Riferimento: audio in un programma c++

per esempio, con questo ho scoperto malauguratamente che il file audio deve essere presente nel computer, e non come avevo capito all'inizio, cioe che me lo univa col programma.. ho provato a unirlo al programma gia compilato, ma non riesce uguale, cioe, lo unisce, ma quando eseguo il suono non c'è.. e comunque ho dato una rapida occhiata alle funzioni e mi sembrano molto banali.. inoltre ho letto da qualcheparte che posso riprodurre file audio di un massimo di 1 mb con PlaySound.. il che è abbastanza scarso..
gia che ci sono,, ne approfitto per chiedere se sai come posso unire il file audio al programma, cosi da non dover spostare sempre l'audio in una cartella insieme al programma.. grazie..
 
Riferimento: audio in un programma c++

Nella documentazione MSDN non c'è alcun riferimento al limite di 1 MB di cui parli.

La PlaySound può trattare dati anche se non sono su file. Basta aggiungerli nelle risorse del programma e usare il flag SND_MEMORY come indicato nella documentazione (che non hai letto). Sempre nella documentazione, c'è questo

Perfavore, Entra oppure Registrati per vedere i Link!


che ti mostra come operare per fare quello che chiedi.
 
Riferimento: audio in un programma c++

no, la SND_MEMORY l'avevo letto, ma non avevo capito che potevo fare questo.. per il limite ho detto che ho letto da qualche parte.. si parlava della funzione system e PlaySound.. comunque grazie mille!