Ciao a tutti.
Se inserisco nel codice due istruzioni di seguito che fanno eseguire un suono wav, viene eseguito solo quello dell'ultima istruzione fermando il primo.
In generale, non è possibile permettere l'esecuzione di suoni sovrapposti?
Ciao a tutti.
Se inserisco nel codice due istruzioni di seguito che fanno eseguire un suono wav, viene eseguito solo quello dell'ultima istruzione fermando il primo.
In generale, non è possibile permettere l'esecuzione di suoni sovrapposti?
MCI????
Allora partiamo in ordine
THREAD: é la possibilità di divedere le funzioni per spazio di memoria così da non accavallarsi la memoria ma dividersela onestamente
MCI: è l'interfaccia audio(dll) con cui si ci può "attaccare" al sistema audio del tuo pc e sfrutatrlo per eseguire suoni.......
scusa le parola contorte..ma torno ora dal ferragosto.....![]()
![]()
Secondo te qual'è la soluzione migliore? Poi, per sfruttare le MCI, è sufficiente un comando già presente in VB o altro?
Riesci a farmi un esempio?
Secondo me usare mci cmq vedi se questo ti può essere utile http://www.geocities.com/smigman.geo/mci/mci.html
Io personalmente uso la Quartz Dll, che permette di riprodurre anche file mp3.
Public Type sound
Audio As IBasicAudio
MMCtrl As IMediaControl
End Type
'carica il tipo sound definito dall'utente... IBasicAudio permette di eseguire il suono, e IMediaControl permette di modificarne il volume e il bilanciamento delle casse...
suoni(10) as audio
'sono le tue istanze che possono produrre i suoni in contemporaneamente
Public Sub SoundMusic(path As String, index As Integer, volume As Integer)
Set suoni(index).MMCtrl = New QuartzTypeLib.FilgraphManager
suoni(index).MMCtrl.RenderFile path
Set suoni(index).Audio = MMCtrl1(index)
suoni(index).Audio.Balance = 0 ' da -10000 a + 10000
suoni(index).Audio.volume = volume ' da -10000 a 0 in attenuanza di decibel non è lineare
suoni(index).Audio.Run
End Sub
'Spero di non aver fatto errori xkè ho scritto il codice (modificandolo da uno già fatto) al momento... non l'ho conntrollato.
SoundMusic, dato il path (percorso del file), index ossia numero dell "istanza" da eseguire, e volume come volume del suono (si portebbe anchee inserire balance per belanciarlo, volendo).
In tal modo se noi facciamo una cosa di questo tipo, eseguiamo due canzoni contemporaneamente:
SoundMusic("c:\ciccio.mp3",0,0)
SoundMusic("c:\pinco.mp3",1,-100)
l'importante non è caricarle tutte e due sullo stesso iindex.. Chiaro?
ciao
Ciao !!! E ben tornati dalle ferie...visto che si parla di suoni...sapete indicarmi come far riprodurre un unico suono (in vb net) alla pressione di qualsiasi pulsante della tastiera? In pratica, dovrei simulare il suono di una vecchia macchina da scrivere e l'utente, cliccando su ogni tasto dovrebbe generare il suono
Jean Brush
Non risollevare altre discussioni per proporre una nuova domanda: apri una discussione separata per trattare il tuo problema.Originariamente inviato da menomale
Ciao !!! E ben tornati dalle ferie...visto che si parla di suoni...sapete indicarmi come far riprodurre un unico suono (in vb net) alla pressione di qualsiasi pulsante della tastiera? In pratica, dovrei simulare il suono di una vecchia macchina da scrivere e l'utente, cliccando su ogni tasto dovrebbe generare il suono
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...