PDA

View Full Version : [c++] eseguire una canzone in un programma


mamo139
26-09-2006, 18:25
come faccio a far partire una canzone contenuta in un file esterno da un programma?? che funzione devo usare???
grazie ciao

andbin
26-09-2006, 20:31
come faccio a far partire una canzone contenuta in un file esterno da un programma?? che funzione devo usare???
grazie ciaoDipende .... Sistema Operativo?? Windows suppongo. Tipo di file: wav, mp3, altro???

mamo139
26-09-2006, 21:02
windows... mp3 ma se è compicato va bene anche wav :D

andbin
26-09-2006, 21:47
windows... mp3 ma se è compicato va bene anche wav :DModo 1 con PlaySound:
#define STRICT
#include <windows.h>

int main (void)
{
PlaySound ("C:\\blabla\\file.wav", NULL, SND_FILENAME);

return 0;
}
Nota 1: linkare con Winmm.lib
Nota 2: non mi sembra che funzioni con file mp3.


Modo 2 con MCI:
#define STRICT
#include <windows.h>

int main (void)
{
mciSendString ("open waveaudio shareable wait", NULL, 0, NULL);
mciSendString ("play C:\\blabla\\file.mp3 wait", NULL, 0, NULL);
mciSendString ("close waveaudio", NULL, 0, NULL);

return 0;
}Nota 1: linkare con Winmm.lib
Nota 2: bisognerebbe controllare il valore ritornato da mciSendString.
Nota 3: funziona anche con file .mp3 (o altri) a patto che ci sia il relativo codec installato.


EDIT: con mciSendString si può anche fare:
mciSendString ("open C:\\blabla\\file.mp3 alias mysnd wait", NULL, 0, NULL);
mciSendString ("play mysnd wait", NULL, 0, NULL);
mciSendString ("close mysnd", NULL, 0, NULL);

mamo139
27-09-2006, 16:32
grazie ora provo

mamo139
27-09-2006, 20:31
sono andato a leggermi la funzione PlaySound su msdn e ho visto che puo essere usata anche per riprodurre un file audio immagazzinato come risorsa...
in quel caso li che parametri dovrei metterci???? :muro:
grazie e scusami tutte queste domande

andbin
27-09-2006, 20:40
sono andato a leggermi la funzione PlaySound su msdn e ho visto che puo essere usata anche per riprodurre un file audio immagazzinato come risorsa...
in quel caso li che parametri dovrei metterci???? :muro: Guarda, PlaySound non l'ho mai usata con una risorsa. Dovrebbe essere una cosa del genere:

PlaySound (MAKEINTRESOURCE(ID_MIOSUONO), hInstance, SND_RESOURCE | SND_SYNC);

dove hInstance è l'istanza della applicazione.
E poi nel file .rc:

ID_MIOSUONO WAVE "suono.wav"

(ovviamente nel file resource.h ci deve essere un #define ID_MIOSUONO numero)

Naturalmente è da provare. ;)