Hallo,
ich habe ein kleines Problem. Und zwar habe ich einen Code geschrieben, der mir aus einem DataGridView Pfade von Bildern ausliest. Diese Bilder sollen dann über den AxWindowsMediaPlayer (Ja, es muss dieser sein - die PictureBox funktioniert nicht) angezeigt werden.
In dem DGV ist auch eine Spalte für die Duration angelegt. In der soll man eintragen können, wie lange das Bild gezeigt werden soll. Ich habe für die Anzeigedauer nun einen Code geschrieben, der es ermöglicht, dass der AWMP das Bild länger als 5 Sekunden anzeigt.
Es ist nur so, dass das erste Bild immer nur kurz angezeigt wird, und nicht nach der gewünschten Zeit, wie ich es vorgesehen habe.
Wo habe ich da einen Fehler gemacht? Ich komme da nicht weiter:
ich habe ein kleines Problem. Und zwar habe ich einen Code geschrieben, der mir aus einem DataGridView Pfade von Bildern ausliest. Diese Bilder sollen dann über den AxWindowsMediaPlayer (Ja, es muss dieser sein - die PictureBox funktioniert nicht) angezeigt werden.
In dem DGV ist auch eine Spalte für die Duration angelegt. In der soll man eintragen können, wie lange das Bild gezeigt werden soll. Ich habe für die Anzeigedauer nun einen Code geschrieben, der es ermöglicht, dass der AWMP das Bild länger als 5 Sekunden anzeigt.
Es ist nur so, dass das erste Bild immer nur kurz angezeigt wird, und nicht nach der gewünschten Zeit, wie ich es vorgesehen habe.
Wo habe ich da einen Fehler gemacht? Ich komme da nicht weiter:
VB.NET-Quellcode
- Private Sub Bildausgabe()
- If SzenenBindingSource.Count > 0 Then
- TimerPause.Enabled = False
- pfad = Me.DataGridView1.Item(0, i).Value
- dur = Me.DataGridView1.Item(1, i).Value
- AxWindowsMediaPlayer1.uiMode = "none"
- AxWindowsMediaPlayer1.URL = pfad
- Dim extension As New IO.FileInfo(pfad)
- Dim ext
- ext = extension.Extension
- If ext = ".jpg" Then
- TimerPause.Enabled = True
- End If
- AxWindowsMediaPlayer1.Ctlcontrols.play()
- End If
- End Sub
- Private Sub naechstes_Bild()
- i = i + 1
- Dim imax
- imax = SzenenBindingSource.Count
- If i >= imax Then
- i = imax
- Else
- Bildausgabe()
- End If
- If i + 1 = SzenenBindingSource.Count Then
- i = i - imax
- End If
- End Sub
- Private Sub vorheriges_Bild()
- i = i - 1
- If i <= -1 Then
- i = 0
- Else
- Bildausgabe()
- End If
- End Sub
- Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
- If Timer.Enabled = True Then
- Timer.Interval = dur * 1000
- naechstes_Bild()
- End If
- End Sub
- Private Sub TimerPause_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TimerPause.Tick
- AxWindowsMediaPlayer1.Ctlcontrols.pause()
- TimerPause.Enabled = False
- End Sub