PDA

View Full Version : [C++] eseguire un file audio


Albitexm
25-01-2010, 19:58
Come si "lancia" in C++ un file audio? Io voglio registrare una parola. Se si verificano delle condizioni, il mio codice deve "lanciare" il file audio registrato. Ovvero se rispondo giusto a una domanda, devo sentire la parola registrata.
Stranamente nei libri di C++ e C che ho letto e tutorial scaricati online, non ho mai visto affrontato il discorso audio.
Specifico io non voglio fare conversioni tra formati o compressioni audio in qualche formato. Voglio semplicemente che un codice invece di restiurmi una
stringa o un valore mi generi un suono.

cionci
26-01-2010, 07:02
Ci devi dire anche sistema operativo e compilatore.

Tommo
26-01-2010, 11:56
L'unica soluzione che va su tutto è che è sempre gratis è (purtroppo) OpenAL... se devi eseguire solo .wav basta anche da sola, sennò ti serve anche l'estensione del plugin che ti serve.

Attento che è veramente astruso se non hai dimestichezza con le interfacce OpenGL-like :D

tomminno
26-01-2010, 12:03
PlaySound su Windows se bastano i WAV.
Eventualmente libreria RTAudio + codec per il formato di interesse

Albitexm
26-01-2010, 12:06
Ci devi dire anche sistema operativo e compilatore.

Windows, Visual C++ 2008 Express.

Albitexm
26-01-2010, 12:28
PlaySound su Windows se bastano i WAV.
Eventualmente libreria RTAudio + codec per il formato di interesse

sono andato a vedere nell'help di Visual C++ in riferimento al tuo suggerimento.
Ecco leggo: "
Metodo audio play
public:
void Play(
String^ location
)"

Quindi esempio :se io volessi lanciare il file giusto.waw contenuto alla locazione C:\audio\prova, cosa scriveresti?
Per quanto riguarda "PlaySound" non capisco perchè mi dice che è sotto il namespace di Visual basic, ma poi c'è la sintassi in tutti i linuaggi, compreso il C++ : (nota. anche per la sintassi sopra è specificato il namespace di VisualBasic)
Spazio dei nomi: Microsoft.VisualBasic.Devices
Assembly: Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)
Visual C++
public:
void Play(
String^ location,
AudioPlayMode playMode
)

cionci
26-01-2010, 12:31
Quello è per C++ managed.
Se stai utilizza C++ managed, va bene, ma se usi C++ standard devi usare questa: http://msdn.microsoft.com/en-us/library/dd743680(VS.85).aspx

Albitexm
26-01-2010, 13:08
Quello è per C++ managed.
Se stai utilizza C++ managed, va bene, ma se usi C++ standard devi usare questa: http://msdn.microsoft.com/en-us/library/dd743680(VS.85).aspx

Bene grazie per il link. Stò scrivendo un semplice corso di scrittura d'Italiano per una mia amica straniera. (forse era meglio se lo compravo già fatto :D )

cionci
26-01-2010, 15:00
Ma C++ è managed o unmanaged ?

Albitexm
27-01-2010, 01:53
Ma C++ è managed o unmanaged ?

siceramente non conosco la differenza.
Io uso Visual C++ Express Edition. Credo però di avere capito che playaudio
si può usare solo scrivendo in window form, non in modalità console.

cionci
27-01-2010, 07:49
PlaySound si può usare in qualsiasi modalità.
Quello che hai messo te si può usare solo in modalità managed.
Per farmi capire incollami il file CPP autogenarato dal wizard che usi per la creazione del progetto

Albitexm
27-01-2010, 21:48
PlaySound si può usare in qualsiasi modalità.
Quello che hai messo te si può usare solo in modalità managed.
Per farmi capire incollami il file CPP autogenarato dal wizard che usi per la creazione del progetto

allego alla presente

cionci
28-01-2010, 06:46
Non è managed