Oppure

Loading
22/03/08 1:32
kneefabio
Salve a tutti, sono nuovo del forum. Desideravo sapere se esiste un modo per riprodurre un file wav da un punto a un'altro punto in visual basic 2008. Mi spiego meglio: supponiamo di avere un file wav lungo 240 secondi e io vorrei riprodurre dal secondo 15 al secondo 35. Spero sia stato chiaro. Ringrazio tutti coloro che vorranno aiutarmi anticipatamente.
Ultima modifica effettuata da kneefabio 22/03/08 1:33
aaa
22/03/08 7:17
Il Totem
Utilizza la classe Audio del namespace Microsoft.AudioVideoPlayback. E' una libreria directX che puoi scaricare dal sito della microsoft se non ce l'hai già installata.
In alternativa puoi utilizzare DirectX.DirectSound, che è sempre una libreria di quel pacchetto. Guarda qui per maggiori informazioni:
totem.altervista.org/guida/versione2/…
Ultima modifica effettuata da Il Totem 22/03/08 7:18
aaa
22/03/08 11:04
kneefabio
Ciao Totem, intanto grazie per la tua risposta immediata. Avevo gia provato la classe audio Microsoft.AudioVideoPlayback con il seguente codice:

Dim fileaudio = Microsoft.DirectX.AudioVideoPlayback.Audio.FromFile("c:00.wav";)
fileaudio.currentposition = 10
fileaudio.seekstopposition(20, 2)
fileaudio.play()

La posizione di inizio funziona perfettamente (il file viene riprodotto dal secondo 10 in poi). Quello che non riesco a fare è fermare la riproduzione al secondo 20.
Quale metodo devo utilizzare ?
Ti ringrazio ancora anticipatamente per la tua collaborazione.
aaa
23/03/08 12:44
kneefabio
Ciao ragazzi, il problema che avevo esposto l'ho risolto così:

Dim i = 1
Dim fileaudio = Microsoft.DirectX.AudioVideoPlayback.Audio.FromFile("c:00.wav";)
fileaudio.currentposition = 10
fileaudio.play()
for i = 1 to 2 step 1
if fileaudio.currentposition = 20 then
fileaudio.stop()
else
i = i-1
end if
next

Sicuramente non sarà la soluzione migliore...ma non sono riuscito a fare di meglio.

Accetto critiche e consigli costruttivi. Grazie a tutti.
aaa
23/03/08 14:26
Il Totem
Magari messa meglio, ma il concetto è quello, ossia controllare ogni istante la posizione.
aaa