How do I force VLC in VB.NET to buffer before playing?
Posted: 03 Feb 2013 15:36
How do I force VLC in VB.NET to buffer before playing? Any help would be amazing
Basically videos play well but at times videos will stop randomly and I don't know how to allow for proper buffering which would help tremendously.
Could someone please tell me howto do this
Code so far:
Basically videos play well but at times videos will stop randomly and I don't know how to allow for proper buffering which would help tremendously.
Could someone please tell me howto do this
Code so far:
Code: Select all
Imports System.Text.RegularExpressions
Public Class Form1
Dim Paused As Boolean = False
Dim Started As Boolean = False
Dim PlayedSecond As Boolean = True
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
PlayedSecond = False
AxVLCPlugin21.playlist.items.clear()
AxVLCPlugin21.playlist.add("http://binder-science.wikispaces.com/file/view/The+Characteristics+of+Living+Things.flv")
AxVLCPlugin21.playlist.play()
Started = True
End Sub
Sub playsecond()
AxVLCPlugin21.playlist.items.clear()
AxVLCPlugin21.playlist.add("http://postfcs.wikispaces.com/file/view/Nature+by+Numbers+%5Bwww.keepvid.com%5D.flv")
AxVLCPlugin21.playlist.play()
PlayedSecond = True
Started = False
End Sub
Private Sub AxVLCPlugin21_pause(sender As Object, e As EventArgs) Handles AxVLCPlugin21.pause
Paused = True
End Sub
Private Sub IsFinished_Tick(sender As Object, e As EventArgs) Handles IsFinished.Tick
If Not AxVLCPlugin21.playlist.isPlaying And Paused = False And Started = True And PlayedSecond = False Then
playsecond()
Started = True
End If
End Sub
Private Sub AxVLCPlugin21_play(sender As Object, e As EventArgs) Handles AxVLCPlugin21.play
Paused = False
End Sub
Private Enum InputState
IDLE = 0
OPENING = 1
BUFFERING = 2
PLAYING = 3
PAUSED = 4
STOPPING = 5
ENDED = 6
ERRORSTATE = 7
End Enum
Private Sub InfoTimer_Tick(sender As Object, e As EventArgs) Handles InfoTimer.Tick
Dim state As InputState = DirectCast(AxVLCPlugin21.input.state, InputState)
Select Case state
Case InputState.IDLE, InputState.OPENING, InputState.BUFFERING
Status.Text = state.ToString()
Exit Select
Case InputState.PLAYING
Dim title As String = System.IO.Path.GetFileName(AxVLCPlugin21.mediaDescription.title)
Dim current As TimeSpan = TimeSpan.FromMilliseconds(AxVLCPlugin21.input.Time)
Dim total As TimeSpan = TimeSpan.FromMilliseconds(AxVLCPlugin21.input.Length)
Dim pos As Double = AxVLCPlugin21.input.Position
Status.Text = String.Format("{0} {1} {2}:{3:D2}/{4}:{5:D2} {6:P}", state, title, current.Minutes, current.Seconds, total.Minutes, total.Seconds, pos)
Exit Select
Case InputState.PAUSED
Status.Text = String.Format("{0} {1}", state, System.IO.Path.GetFileName(AxVLCPlugin21.mediaDescription.title))
Exit Select
Case InputState.STOPPING, InputState.ENDED
playsecond()
Exit Select
Case InputState.ERRORSTATE
Status.Text = String.Format("{0} {1}", state, AxVLCPlugin21.mediaDescription.title)
Exit Select
Case Else
Status.Text = state.ToString()
Exit Select
End Select
End Sub
End Class