Accedi per seguire   
Seguaci 0
vikkio88

Batteria In Visual Basic

17 messaggi in questa discussione

Salve mi sn fatto il flash di fare una batteria in visual basic dove alla pessione die tasti corrisponde un .waw....sapete cm faccio a playare un file waw cn un command..v prego aiutatemi devo farlo sto programma...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Il linguaggio da sms è vietato dal regolamento del forum.

Dovresti cortesemente evitare di usarlo.

A parte questo, non ho capito la domanda.

Potresti riformularla in un modo un tantino più comprensibile?

Grazie.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Salve mi sn fatto il flash di fare una batteria in visual basic dove alla pessione die tasti corrisponde un .waw....sapete cm faccio a playare un file waw cn un command..v prego aiutatemi devo farlo sto programma...

Non ho installato Visual Basic (per motivi di religione :dia: ), speriamo esista ancora qualche "esperto" di questo "linguaggio" (???) :dia: :dia: :dia: :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Non ho installato Visual Basic (per motivi di religione :dia: ), speriamo esista ancora qualche "esperto" di questo "linguaggio" (???) :dia: :dia: :dia: :)

Utilizzi Visual Basic 6?

In questo caso ti converrebbe utilizzare le API di Windows. In pratica devi crearti una funzione che si colleghi alla funzione PlaySound che trovi nelle API WinMM di Windows:

Declare Function PlaySound Lib "winmm" Alias "PlaySoundA" _
						(ByVal szName As String, _
						 ByVal hModule As Long, _
						 ByVal dwFlags As Long) As Long

szName: il nome (e percorso) del file sonoro (wav).

hModule: si può impostare a 0 e dimenticarsi di lui :P

dwFlags: flag per avere un controllo migliore sulla riproduzione del file.

Per un elenco dettagliato di come funziona la funzione PlaySound ti conviene guardare la documentazione ufficiale delle API di Win32 di Windows e cercare la funzione PlaySoundA

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Gentili madame e messeri di codesto forum,

Espongo una richiesta alle vostre geniali menti, avrei un desiderio, creare un programma nel nobile linguaggio del visual basic che permetta l'emulazione di una batteria (un rozzo strumento di accompagnamento vi consiglio di fare una ricerca su google qualora nn la conosceste), il problema sorge quando? Quadno voglio assegnare la riproduzione di un suono ad un tasto...ergo qua sorge spontanea la domanda, è possibile che accada una cosa simile? Posso assegnare ad un pulsante (chiamato rozzamente dagli angolsassoni Command button) un suono waw?Qualora qualcuno di voi esismi cofrequentatori sia informato in merito vi prego umilmente di rispondere alla mia missiva in codesto topico.

Distinti Saluti

Vincanzo Ciaccio (Alias Vikkio88)

Contento, isileth? Va meglio?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Gentili madame e messeri di codesto forum,

Espongo una richiesta alle vostre geniali menti, avrei un desiderio, creare un programma nel nobile linguaggio del visual basic che permetta l'emulazione di una batteria (un rozzo strumento di accompagnamento vi consiglio di fare una ricerca su google qualora nn la conosceste), il problema sorge quando? Quadno voglio assegnare la riproduzione di un suono ad un tasto...ergo qua sorge spontanea la domanda, è possibile che accada una cosa simile? Posso assegnare ad un pulsante (chiamato rozzamente dagli angolsassoni Command button) un suono waw?Qualora qualcuno di voi esismi cofrequentatori sia informato in merito vi prego umilmente di rispondere alla mia missiva in codesto topico.

Distinti Saluti

Vincanzo Ciaccio (Alias Vikkio88)

Contento, isileth? Va meglio?

Caro Vincanzo, non ci riesci proprio a scrivere senza abbreviazioni SMS è

...qualora nn la conosceste
? Io lo dico per te (e per tutti quelli come te, ormai troppi, che non sanno più scrivere in italiano a causa dell'utilizzo eccessivo del cellulare ;-) ).

A parte questo, vorrei precisare un po' di cose:

1) Quando ti sei iscritto al forum hai sottoscritto un regolamento. Tale regolamento prevede di evitare i post in stile sms.

2) L'essere arrogante, sarcastico, e pretentuoso non ti aiuterà di certo a risolvere il tuo problema o a relazionarti meglio con il prossimo.

A parte questo, la soluzione al tuo semplice problema te l'ho scritta poco sopra ;-)

E per favore non usare termini inappropriati e offensivi: Come si fa a dare del nobile linguaggio ad uno spaghetti-code-producer qual'è Visual Basic :P:wub::P :dia: :dia: :dia:

:):P

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

scusami, ma io skerzavo se lo skerzo nn è accettato scusatemi davvero...se ho offeso qualkuno

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

una volta che dichiaro la libreria ..come faccio?..con quale comando, Riproduco il suono? vorrei che fossi più chiaro...

porca miseria è difficile scrivere così....cmq mi chiamo vincenzo

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

una volta che dichiaro la libreria ..come faccio?..con quale comando, Riproduco il suono? vorrei che fossi più chiaro...

porca miseria è difficile scrivere così....cmq mi chiamo vincenzo

Piacere Vincenzo :P

Cerca di sforzarti a re-imparare l'italiano. Lo dico soprattutto per te. Con l'andare del tempo ti troverai a scrivere spesso al computer. Più avanti lo farai per lavoro. Un'e-mail piena di "cmq", "nn", qualke" ecc... non ha per nulla l'aria professionale :P

Tornando al codice (che è quello per cui siamo qui eheheheheh)

Tutto sta nell'utilizzo di quella funzione.

In pratica prima di tutto devi crearti una tua funzione che si colleghi a quella che viene resa disponibile dalla libreria WinMM.dll: la trovi in C:\Windows\System32 ed è una libreria di sistema.

La sua "firma" è:

BOOL PlaySound(
 LPCSTR pszSound,  
 HMODULE hmod,	 
 DWORD fdwSound	
);

Per poterla utilizzare all'interno di un'applicazione VisualBasic dobbiamo crearci una nostra funzione che vada a fare da involucro per quella di sistema:

Declare Function PlaySound Lib "winmm" Alias "PlaySoundA" _
						(ByVal szName As String, _
						 ByVal hModule As Long, _
						 ByVal dwFlags As Long) As Long

Se noti, con questa nostra funzione PlaySound, non facciamo altro rendere VisualBasic-Compatibile quella vera e propria.

Andiamo ad analizzare i parametri che accetta:

szName (pszSound secondo la guida Microsoft)

Una stringa che specifica quale suono eseguire. La lunghezza massima, incluso il terminatore di stringa, è pari a 256 caratteri. Se il parametro è Nothing, allora verrà fermato qualsiasi suono in quel momento in esecuzione (si può, quindi, utilizzare Nothing per fermare l'esecuzione).

Il terzo parametro può servire per capire che tipo di suono si deve eseguire:

- SND_ALIAS: szName indica un alias per un evento di sistema.

- SND_FILENAME: szName indica un nome di file wav.

- SND_RESOURCE: szName indica un identificativo di risorsa.

Se non viene definito alcun flag, allora prima verrà cercato szName tra gli alias di eventi di sistema; se non viene trovato un alias, allora szName verrà interpretato come nome di file.

hModule (hmod secondo la guida Microsoft)

L'handle al file delle risorse sonore da utilizzare insieme ad un identificativo di risorsa (in szName) e con il flag SND_RESOURCE (nel terzo parametro). Se si utilizza un alias di evento di sistema o un nome di file possiamo mettere 0 come valore.

dwFlags (fdwSound secondo la guida Microsoft)

Flag che specificano come eseguire il suono:

SND_APPLICATION: Il suono verrà eseguito utilizzando l'applicazione associata al tipo di file caricato.

SND_ALIAS (&H10000): Come già detto, specifica che szName fa riferimento all'alias di un evento di sistema. Non si deve utilizzare assieme a SND_FILENAME o SND_RESOURCE.

SND_ASYNC (&H1): Il suono viene eseguito in modalità asincrona. In pratica il programma non si blocca ad aspettare la fine del suono, ma continua la sua esecuzione mantenendo il suono in sottofondo. Per bloccare un suono asincrono si deve rieseguire la funzione con szName messo a Nothing.

SND_FILENAME (&H20000): szName indica il nome di un file.

SND_LOOP (&H8): Il suono viene eseguito in continuazione. Per fermarlo si deve rieseguire la funzione con szName messo a Nothing. Si deve specificare anche il flag SND_ASYNC.

SND_SYNC (&H0): Il suono viene eseguito in maniera sincrona. Finchè non finisce di suonare, non vengono eseguite altre istruzioni.

SND_NOSTOP (&H10): Il suono non viene interrotto dal tentativo di esecuzione di un secondo suono.

SND_NOWAIT (&H2000): Se si vuol eseguire un secondo suono, quest ultimo non aspetta la fine del primo per iniziare a suonare.

SND_NODEFAULT (&H2): Se per caso non viene trovato il suono specificato in szName, non viene eseguito quello di default.

SND_PURGE (&H40): Viene interrotto il suono. Se szName non è Nothing allora viene interrotto quel file, altrimenti verranno interrotti tutti i suoni.

Ci sono altri flag che non sto ad elencare :wub:

Una volta creata la nostra funzione come descritto sopra, la possiamo utilizzare all'interno del codice di gestione dell'evento generato dalla pressione del Button.

Per quello che serve a te, conviene impostare il flag dei vari suoni in modo che:

Si esegua in maniera asincrona (SND_ASYNC)

Non si esegua il suono di default (SND_NODEFAULT)

Non attenda la fine del suono precedente (SND_NOWAIT)

Si esegua da filename (SND_FILENAME)

quindi dentro l'evento richiamerai la funzione così:

PlaySound "percorso\nomefile.wav", 0, SND_FILENAME Or SND_ASYNC Or SND_NODEFAULT Or SND_NOWAIT

Mentre un eventuale pulsante di stop dei suoni:

PlaySound vbNullString, 0, 0

:)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

il percorso deve essere completo? tipo C:\documents\deficente\io.waw...o basta il root...e all'exe come faccio ad appoggiargli i file audio?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

il percorso può essere completo oppure se i file wav si trovano sulla stessa cartella del progetto puoi usare "CurDir\nomefile.wav"

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

il percorso può essere completo oppure se i file wav si trovano sulla stessa cartella del progetto puoi usare "CurDir\nomefile.wav"

Esatto e, naturalmente, quando distribuisci il programma devi includere anche i file sonori che utilizza.

:)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
E per favore non usare termini inappropriati e offensivi: Come si fa a dare del nobile linguaggio ad uno spaghetti-code-producer qual'è Visual Basic
Eccolo qui...non cambi mai eh...

:):P:P:wub::P;):(;);):):angry::angry::angry::whip::whip::D

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Eccolo qui...non cambi mai eh...

:):P:P:wub::P;):(;);):):angry::angry::angry::whip::whip::D

No no!!! :D :D :thumbup:

Ah, bentornato e buon anno!!!

P.S.

Sei licenziato :D

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

P.S. Sei licenziato :angry:

Grazie degli auguri di buon anno...il licenziamento cos'è? L'incentivo per iniziarlo meglio???

:):P:P:wub::P;):(;);):):angry:

Buon Anno anche a te...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per partecipare

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!


Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.


Accedi Ora
Accedi per seguire   
Seguaci 0