PDA

View Full Version : [C] Numerare file contenuti in una cartella e leggere mp3


17Qwerty71
29-11-2005, 22:37
Avrei intenzione di realizzare un lettore mp3 in C.
Vorrei aggiugerci la possibilità di leggere i brani contenuti passando il percorso della cartella.
Ora, come fare per leggere il contenuto di una cartella e prelevare il percorso di tali file?
Per riprodurre gli mp3 quale funzione utilizzare (ho sentito parlare di DirectMusic)?
Un'esempio dell'utilizzo di tale funziona magari, che in rete non ho trovato un manuale che ne spiega l'utilizzo :confused:


Grazie :)

andbin
30-11-2005, 08:15
Avrei intenzione di realizzare un lettore mp3 in C.
Vorrei aggiugerci la possibilità di leggere i brani contenuti passando il percorso della cartella.
Ora, come fare per leggere il contenuto di una cartella e prelevare il percorso di tali file?
Per riprodurre gli mp3 quale funzione utilizzare (ho sentito parlare di DirectMusic)?
Ciao, purtroppo non conosco e non ho esperienza per quanto riguarda la gestione dei file mp3 e quindi non posso aiutarti. :(
Però per la scansione dei file in una directory non è difficile. Innanzitutto queste funzioni sono tipicamente dipendenti dal sistema operativo, a meno che tu non utilizzi un qualche framework portabile, naturalmente.
In Windows le funzioni native (Win32) sono FindFirstFile(), FindFirstFileEx(), FindNextFile() e FindClose().
In Linux invece le funzioni sono opendir(), readdir() e closedir() (più alcune altre per fare rewind, seek, ecc...).

17Qwerty71
30-11-2005, 17:03
Grazie, poi leggo :)
Per riprodurre gli mp3? :confused:

andbin
30-11-2005, 19:56
Grazie, poi leggo :)
Per riprodurre gli mp3? :confused:
L'algoritmo di codifica/decodifica mp3 non è proprio banale. Questo vuol dire che se non conosci (e non vuoi conoscere) tutti i dettagli e tutta la base matematica che ci stanno dietro, sarebbe meglio utilizzare una qualche libreria già fatta che gestisce i file audio.
Giusto anche per mia curiosità personale ho fatto una ricerca ed ho trovato:

http://www.fmod.org
Una libreria multipiattaforma per la gestione di file audio in svariati formati. Sembra interessante.

http://www.mp3-tech.org
Un sito dedicato al formato mp3 (ci sono anche dei software e librerie).

http://www.underbit.com/products/mad/
Una libreria per la decodifica dei file mp3.

Ma ci sono sicuramente molte altre risorse. ;)

17Qwerty71
30-11-2005, 20:48
L'algoritmo di codifica/decodifica mp3 non è proprio banale. Questo vuol dire che se non conosci (e non vuoi conoscere) tutti i dettagli e tutta la base matematica che ci stanno dietro, sarebbe meglio utilizzare una qualche libreria già fatta che gestisce i file audio.
Giusto anche per mia curiosità personale ho fatto una ricerca ed ho trovato:

http://www.fmod.org
Una libreria multipiattaforma per la gestione di file audio in svariati formati. Sembra interessante.

http://www.mp3-tech.org
Un sito dedicato al formato mp3 (ci sono anche dei software e librerie).

http://www.underbit.com/products/mad/
Una libreria per la decodifica dei file mp3.

Ma ci sono sicuramente molte altre risorse. ;)

Grazie mille di nuovo :p

Ho scaricato la libreria fmod, sembra interessante. Vi è incluso un buon manuale delle funzioni :)

okay
30-11-2005, 21:19
Grazie mille di nuovo :p

Ho scaricato la libreria fmod, sembra interessante. Vi è incluso un buon manuale delle funzioni :)


prova questa:
http://www.twork.it/work/oki_tut.zip

per mp3, mid e wav - video file mpeg e avi tutto in italiano il manuale costruita in directshow dx 9.0c con proigetto di esempio già funziionante ecc ecc.

ciao

Traxsung
30-11-2005, 21:50
Grazie okay, questa libreria sembra davvero interessante. La prendo anche io.... non si sa mai :D

17Qwerty71
01-12-2005, 19:13
ho già dei problemi con la libreria fmod :(

Utilizzo dev-c++ ed ho fatto semplicemente un copia-incolla del codice che stà qua: http://www.gameprog.it/?resource=16

Eppure mi da un sacco di errori :confused:


Mi potreste aiutare? :help:


Grazie :)

okay
01-12-2005, 19:17
ho già dei problemi con la libreria fmod :(

Utilizzo dev-c++ ed ho fatto semplicemente un copia-incolla del codice che stà qua: http://www.gameprog.it/?resource=16

Eppure mi da un sacco di errori :confused:


Mi potreste aiutare? :help:


Grazie :)

Posso aiutarti con la lib oki.lib

17Qwerty71
01-12-2005, 19:34
Posso aiutarti con la lib oki.lib
Ho dato un'occhiata al manuale.
Come faccio? :stordita:

okay
01-12-2005, 20:08
Ho dato un'occhiata al manuale.
Come faccio? :stordita:

c'è il progetto di esempio lancialo poi leggi il manuale.
Come ambiente di sviluppo usa vs net 2003 o il vc6++ devi avere installate le dx 9.0c microsoft

17Qwerty71
01-12-2005, 20:12
c'è il progetto di esempio lancialo poi leggi il manuale
Ho provato ad aprire il proggetto Oki_2003 con VC++ Express 2005 e quando faccio build mi viene l'errore che non mi trova windows.h :confused:

VegetaSSJ5
01-12-2005, 20:40
prova a guardare qua

http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx

17Qwerty71
01-12-2005, 22:03
prova a guardare qua

http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx

L'ho installato ma la windows.h continua a non esserci :confused:

VegetaSSJ5
01-12-2005, 22:13
L'ho installato ma la windows.h continua a non esserci :confused:
hai seguito la procedura per la configurazione dei path indicata nel link che ti ho mandato?

17Qwerty71
01-12-2005, 22:36
hai seguito la procedura per la configurazione dei path indicata nel link che ti ho mandato?
Si, ho aggiunto tutte e tre le locazioni.
Ora non ho più problemi con windows.h, ma non trova d3d9.h :muro:

okay
01-12-2005, 23:53
Si, ho aggiunto tutte e tre le locazioni.
Ora non ho più problemi con windows.h, ma non trova d3d9.h :muro:

Dato che operi con progetto vs devi scaricare l'sdk directx 9.0 così da includere le librerie dal tool del compilatore già cmq di default dopo l'installazione dell'sdk

poi leggi il manule vedrai che è semplice oppure esegui il tutto dal progetto di esempio.
Installate l'sdk sei pronto a lavorarci.
Il funzionamento con l'sdk direct 9.0c december 2004 è perfetto per quel progetto. Con gli ultimi sdk non l'ho provato forse bisognerà ottenere le dll_ opportune perchè la microsoft gestisce ora le cose in questo modo......!!


ciao

17Qwerty71
02-12-2005, 10:29
Dato che operi con progetto vs devi scaricare l'sdk directx 9.0 così da includere le librerie dal tool del compilatore già cmq di default dopo l'installazione dell'sdk

poi leggi il manule vedrai che è semplice oppure esegui il tutto dal progetto di esempio.
Installate l'sdk sei pronto a lavorarci.
Il funzionamento con l'sdk direct 9.0c december 2004 è perfetto per quel progetto. Con gli ultimi sdk non l'ho provato forse bisognerà ottenere le dll_ opportune perchè la microsoft gestisce ora le cose in questo modo......!!


ciao

Va bene questo: http://www.microsoft.com/downloads/details.aspx?FamilyId=1C8DC451-2DBE-4ECC-8C57-C52EEA50C20A&displaylang=en ?

Poi per includere nel progetto le directx come faccio? :confused:


Grazie per le risposte :)

okay
02-12-2005, 10:49
Va bene questo: http://www.microsoft.com/downloads/details.aspx?FamilyId=1C8DC451-2DBE-4ECC-8C57-C52EEA50C20A&displaylang=en ?

Poi per includere nel progetto le directx come faccio? :confused:


Grazie per le risposte :)


scarica questo:
http://www.microsoft.com/downloads/details.aspx?FamilyID=4e825a37-0c94-4421-9ec8-156e52525d11&displaylang=en

Installala l'sdk, riavvia, poi apri il progetto e vai con start per compilarlo.......

poi leggi il manuale per le chiamate a funzione e studia il progetto che hai aperto il tutto ti verrà semplice

max246
02-12-2005, 13:18
Usate Dev c++ ....
io ho creo un'mp3 player, che legge dalla directory in qui sta il programma e posso passare da una canzone e l'altra... e in piu alzare il volume, mute, pause :P

tutto fatto in C con FMOD e alcune funzioni di Winzoz :P

17Qwerty71
02-12-2005, 13:35
Usate Dev c++ ....
io ho creo un'mp3 player, che legge dalla directory in qui sta il programma e posso passare da una canzone e l'altra... e in piu alzare il volume, mute, pause :P

tutto fatto in C con FMOD e alcune funzioni di Winzoz :P
Ora stò dando un'occhiata al progetto che ha postato okay.
Però vorrei rimanere con il dev-c++, mi potresti postare i tuoi sorgenti per capirci qualcosa? :confused:


Grazie :)

max246
02-12-2005, 15:30
Ora stò dando un'occhiata al progetto che ha postato okay.
Però vorrei rimanere con il dev-c++, mi potresti postare i tuoi sorgenti per capirci qualcosa? :confused:


Grazie :)

Sul mio sito ho la sveglia che legge gli mp3 ( scusate lo spam :P ) www.max246.info

Per il source dell'mp3 postero nei prossimi giorni :)

17Qwerty71
02-12-2005, 15:38
Sul mio sito ho la sveglia che legge gli mp3 ( scusate lo spam :P ) www.max246.info

Per il source dell'mp3 postero nei prossimi giorni :)
ehm, con l'eseguibile non ci faccio nulla :D

un piccolo esempio? :stordita:

Sigm@66
02-12-2005, 15:46
X max246

non è che potresti postare il sorgente della sveglia? ...mi interesserebbe parecchio.....
grazie e ciao!!

max246
02-12-2005, 16:11
asd scusa.. pensavo che ci fosse pure il source :) .. allora puoi aspettare domani? :P visto che stassy non posso ghgh

17Qwerty71
02-12-2005, 16:32
asd scusa.. pensavo che ci fosse pure il source :) .. allora puoi aspettare domani? :P visto che stassy non posso ghgh

Ok ;)

17Qwerty71
03-12-2005, 14:35
Up per max246 :D