Oppure

Loading
12/11/09 16:17
podak
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?8-|
aaa
12/11/09 17:02
lorenzo
guarda, non mi sono mai posto il tuo problema ma spulciando la rete ho scovato questo
forum.masterdrive.it/c-c-21/acquisizione-generezaione-audio-in-c-41461/

prova a vedere, si usano le api wave... di windows quindi prova a leggere su MSDN
è in c però dovresti riuscire a capire
aaa
12/11/09 19:19
podak
lorenzo, grazie per la risposta, ma penso che tu mi abbia un po' sopravvalutato:asd:...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 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?
aaa
13/11/09 18:25
lorenzo
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:

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 13/11/09 18:26
aaa
16/11/09 18:20
podak
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...
aaa
16/11/09 18:39
lorenzo
per la dll cerca su msdn(in fondo c'é il nome)

altrimenti ho trovato questo su google
sourcecodeonline.com/details/…

e altre simili, vedi se c'é qualcosa che ti serve...come ho detto non mi sono mai interessato ad una cosa simile
aaa
16/11/09 19:36
podak
questo pacchetto mi semplificherà di molto la vita, non riesco solo a capire come installarlo....
aaa
10/12/09 15:02
Daf
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) :k:
aaa