Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Riproduzione audio dal secondo x al secondo y
Forum - C# / VB.NET - Riproduzione audio dal secondo x al secondo y

Avatar
kneefabio (Normal User)
Newbie


Messaggi: 3
Iscritto: 22/03/2008

Segnala al moderatore
Postato alle 2:32
Sabato, 22/03/2008
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 il 22/03/2008 alle 2:33
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 8:17
Sabato, 22/03/2008
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:
http://totem.altervista.org/guida/versione2/D3.php

Ultima modifica effettuata da Il Totem il 22/03/2008 alle 8:18
PM Quote
Avatar
kneefabio (Normal User)
Newbie


Messaggi: 3
Iscritto: 22/03/2008

Segnala al moderatore
Postato alle 12:04
Sabato, 22/03/2008
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:\1000.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.

PM Quote
Avatar
kneefabio (Normal User)
Newbie


Messaggi: 3
Iscritto: 22/03/2008

Segnala al moderatore
Postato alle 13:44
Domenica, 23/03/2008
Ciao ragazzi, il problema che avevo esposto l'ho risolto così:

Dim i = 1
Dim fileaudio = Microsoft.DirectX.AudioVideoPlayback.Audio.FromFile("c:\1000.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.

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:26
Domenica, 23/03/2008
Magari messa meglio, ma il concetto è quello, ossia controllare ogni istante la posizione.

PM Quote