Oppure

Loading
26/02/10 23:11
u5975
Postato originariamente da Daniele93:

MioVideo.Audio.Stop()


Dove Audio rappresenta l' audio del video ed è gestibile come un normale oggetto Audio...

Se hai un po di tempo da dedicarci le DirectX sono belle!


Ciao Daniele, eccomi ancora qua.
Io ho inserio nel mio programma queste istruzioni:

******* per attivare il video:

Private Sub PictureBox3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles PictureBox3.Click
MioVideo = Video.FromFile(textx1)
MioVideo.Caption = ("FinestraVideo";)
Button1.Visible = True
MioVideo.Play()
End Sub

******* per terminare audio e video:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MioVideo.Audio.Stop()
MioVideo.Stop()
Button1.Visible = False
End Sub

sembra funzionare tutto bene però:

1) quando chiudoil video la finestra non si vede più però resta attiva nel programma. Quando chiudo il programma si chiudono in sequenza tutte le finestre video che ho aperto.

2) ho provato a gestire la location e il size della finestra video ma non ci sono riuscito. Il punto di partenza della finestra video la decide casualmente e varia ogni volta.

Ti sarei grado per un ulteriore aiuto da parte tua.
Grazie

Walter
aaa
27/02/10 12:19
Il Totem
Se la proprietà Owner di Video non viene impostata si apre una nuova finestra su cui non si ha controllo. Tuttavia, se crei tu una nuova form e la imposti come Owner, il video verrà visualizzato nella tua form e non in una nuova finestra.
msdn.microsoft.com/en-us/library/…
aaa
27/02/10 13:14
u5975
Postato originariamente da Il Totem:

Se la proprietà Owner di Video non viene impostata si apre una nuova finestra su cui non si ha controllo. Tuttavia, se crei tu una nuova form e la imposti come Owner, il video verrà visualizzato nella tua form e non in una nuova finestra.
msdn.microsoft.com/en-us/library/…


Ciao,
ti ringrazio per la risposta, ma non ho capito molto.
Puoi entrare più nel dettaglio? Grazie
Walter
aaa
27/02/10 16:32
Daniele93
Semplicemente se ti serve di settare le prorietà della finestra e di gestirla devi mettere il video in una form "tua"...

Così: Video.Owner = nome_form

aaa
28/02/10 8:53
u5975
Postato originariamente da Daniele93:

Semplicemente se ti serve di settare le prorietà della finestra e di gestirla devi mettere il video in una form "tua"...

Così: Video.Owner = nome_form



Ciao Daniele,
approfitto ancora della tua disponibilità perchè non riesco a risolvere completamente il mio problema.
Allora io ho un form principale che si chiama PROVA. Da questo form io devo far vedere un video in uno specifico form (provaVideo) dove ho inserito solo uno strumento Bottone per far partire il video.

questo è il codice che ho scritto:

nel form principale:

textx1 = "Y:\video\Video.avi"
Dim frm As New provaVideo
frm.ShowDialog()

nel form provaVideo richiamato:

MioVideo = Video.FromFile(textx1)
MioVideo.Caption = ("FinestraVideo";)
MioVideo.Owner = Me
MioVideo.Play()
Dim xsec As Integer = MioVideo.Duration
Dim start As Double = Microsoft.VisualBasic.DateAndTime.Timer
Dim finish As Double = start + xsec
Do While Microsoft.VisualBasic.DateAndTime.Timer < finish
Loop
chiudiVideo()

nella SUB chiudiVideo():

MioVideo.Audio.Stop()
MioVideo.Stop()
Me.Close()

Funziona tutto bene. Mi manca:

1) la possibilità di interrompere il video. Ho provato a mettere nel form un bottone ma quando parte il video il bottone non funziona più. Meglio sarebbe, se fosse possibile, la classica barra progressiva con i bottoni di start, pausa e stop. Magari è prevista.

2) la possibilità di gestire la location e il size. Inserendo

MioVideo.Size.Height = 320

da errore:

Errore 18 L'espressione è un valore, quindi non può essere la destinazione di un'assegnazione.    

Se mi risolvi questo problema, principalmente il punto 1, te ne sono molto grato.
Ciao e grazie

Walter
aaa
28/02/10 9:52
Daniele93
Non perchè non ti voglio rispondere, ma a questo punto, visto che devi a tutti gli effetti creare un player video non ti conviene studiare le DirectX? oppure prendere in mano i sorgenti di un progetto di player che le usi e guardarli?

La barra la devi costruire tu, i metodi sono esposti tutti dalla classe Audio e Video quindi non dovresti avere problemi. Per gestire location e size basta che nella form ProvaVideo metti un picturebox e imposti come owner la picturebox, ricordati di modificare altezza e proprietà dopo MioVideo.play().

Un paio di consigli:
1.Usa frm.Show() e non frm.ShowDialog()
2.Non è piu necessario controllare con un timer che il video arrivi al termine. Anche perchè lo facevi in modo sbagliato...

Ciao
Ultima modifica effettuata da Daniele93 28/02/10 9:55
aaa
01/03/10 18:41
Il Totem
@Daniele: queste classi usano le DirectX, quindi è inutile complicarsi la vita scendendo di livello.

1) Video.Stop() ferma il video. Se imposti Me (ossia il form) come Owner, il video prenderà l'intera superficie della finestra. E' meglio se lo restringi ad una sola parte, ad esempio inserendolo in un Panel. Così avrai modo di aggiungere altri controlli (es. button) normalmente.

2) Size è un valore Value, costituisce un unico blocco di informazione. Perciò non puoi modificarela proprietà Height. E' come se tentassi di fare così con un numero:
(32,4501).ParteDecimale = 80
'oppure
54 = 9
'oppure
"Stringa".Chars(2) = "u"

E' assurdo, poiché tutti quei valori sono costanti e come tali non modificabili.
Devi costruire un altro valore Size con diversa altezza:
MioVideo.Size = New Size(MioVideo.Size.Width, 320)
aaa