podak (Normal User)
Newbie
Messaggi: 9
Iscritto: 12/11/2009
|
salve a tutti, ho delle buone conoscenze di pascal e vorrei provare a fare questo programma in lazarus: in pratica voglio che l' applicazione riceva in input i segnali del microfono collegato alla schede audio e che, in base all' intensità del volume che il microfono riceve, mandi a schermo il valore della classe del rumore ( tipo se il rumore é fra 10 e 30 decibel é di classe 1, se é fra 30 e 50 é di classe 2 ecc.). non riesco a capire come fare per la prima parte del programma, ovvero come riuscire a dire al programma di andare a controllare gli imput che il computer riceve dalla scheda audio. ho fatto parecchie ricerche su google e penso di aver capito che bisogna richiamare delle api di windows
voi come fareste?
|
|
lorenzo (Normal User)
Guru
Messaggi: 1178
Iscritto: 15/04/2008
|
|
|
podak (Normal User)
Newbie
Messaggi: 9
Iscritto: 12/11/2009
|
lorenzo, grazie per la risposta, ma penso che tu mi abbia un po' sopravvalutato...infatti sono uno studente di un' istituto tecnico al terzo anno e per ora riesco a comprendere solo il pascal, anche se comunque qualcosina si riesce lo stesso a capire degli altri linguaggi di programmazione. comunque, io ho trovato anche questa pagina http://www.techmind.org/wave/ ,il problema é che non riesco a capire come inserire il comando all' interno del programma. ho scaricato una guida su delphi dove dice che un comando api si presenta così:
esempio, per scalare una finestra
procedure....
begin
ShowWindow(handle, SW_HIDE);
end;
se lo faccio con waveinopen mi da errore...qualcuno può darmi qualche link per saperne di più sulle api windows in delphi?
o comunque quualcuno può aiutarmi in generale?
|
|
lorenzo (Normal User)
Guru
Messaggi: 1178
Iscritto: 15/04/2008
|
non ti riconosce la funzione perché molto probabilmente non è stata inserita tra le normali api già implementate. Devi dichiararla prendendola dalla sua Dll
per le dll, non so lazarus(anche se credo che sia simile a delphi)
ma in borland delphi ci sono due modi:
Codice sorgente - presumibilmente Delphi |
procedure FunzioneDll; external 'Nomedll.dll'
|
in questo modo importi la funzione direttamente dalla dll;
altrimenti usi la funzione LoadLibrary(cerca su google per info) per caricare la dll a runtime.
Ultima modifica effettuata da lorenzo il 13/11/2009 alle 19:26 |
|
podak (Normal User)
Newbie
Messaggi: 9
Iscritto: 12/11/2009
|
allora, ho passato questi due giorni a caccia di informazioni in rete, e ho un po' di confusione in testa, probabilmente anche perché ho dovuto cercare di imparare frettolosamente parecchi argomenti completamente nuovi per me. E' come se avessi in testa tutti i pezzi di un puzzle che non riesco a comporre...in particolare non riesco a:
1. chiamare correttamente l' api che intercetta i segnali input della scheda audio (non riesco a capire in quali dll siano contenute le api wave)
2. non riesco a trovare una funzione dell' api che mi dia un valore integer più o meno alto a seconda dell' intensità sonora.
Se qualcuno mi aiuta a risolvere questi dubbi, magari con una porzione di codice, mi farebbe un favore infinito...
|
|
lorenzo (Normal User)
Guru
Messaggi: 1178
Iscritto: 15/04/2008
|
|
|
podak (Normal User)
Newbie
Messaggi: 9
Iscritto: 12/11/2009
|
questo pacchetto mi semplificherà di molto la vita, non riesco solo a capire come installarlo....
|
|
Daf (Normal User)
Pro
Messaggi: 78
Iscritto: 27/06/2009
|
Su lazarus i pakage nn sono uguali a quelli di delphi... se sono quelli giusti basta farci doppio click sopra, compila e installa;
se invece sono x delphi dovresti, per poterle usare:
- cambiare estensione ai file;
- cambiare le direttive del compilatore;
- e in rari casi, cambiare tipi di variabili (cosa cmq ad un livello semplice)
|
|