当我在VB.Net上暂停流视频VLC组件时。几分钟后回来。再次单击“播放”,从开始或停止重新开始 [英] When I pause streaming video VLC component on VB.Net. Come back few minutes later. Click play again, restarts from beginning or stops

查看:118
本文介绍了当我在VB.Net上暂停流视频VLC组件时。几分钟后回来。再次单击“播放”,从开始或停止重新开始的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在VB.Net上暂停流视频VLC组件时。几分钟后回来。再次单击播放,从头开始重新启动。然后我必须点击滑块上的最后一个点,所以要恢复





有时这甚至会在没有播放流视频时发生暂停,突然间会从一开始就停止或重新启动。然后我必须手动点击滑块上的位置并等待再次缓冲





有谁知道修复此问题?< br $>




以下代码:



  Imports  System.Text.RegularExpressions 

Public Form1
Dim 暂停作为 Boolean = False
Dim 已开始 As Boolean = False
Dim PlayedSecond As Boolean =
私人 Sub Button1_Click(发件人作为 对象,e As EventArgs)句柄 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
结束 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
结束 Sub

私有 Sub AxVLCPlugin21_pause(发件人作为 对象,e As EventArgs)句柄 AxVLCPlugin21.pause
Paused = True
结束 Sub

私有 Sub IsFinished_Tick(发件人作为 对象,e As EventArgs)句柄 IsFinished.Tick
如果 AxVLCPlugin21。 playlist.isPlaying 已暂停= 错误 已开始= True PlayedSecond = False < span class =code-keyword>然后
playsecond()
开始=
结束 如果
结束 Sub

私有 Sub AxVLC Plugin21_play(发件人作为 对象,e 作为 EventArgs)句柄 AxVLCPlugin21.play
暂停= 错误
结束 Sub

私人 枚举 InputState
IDLE = 0
OPENING = 1
BUFFERING = 2
PLAYING = 3
PAUSED = 4
STOPPING = 5
ENDED = 6
ERRORSTATE = 7
结束 枚举


私有 Sub InfoTimer_Tick(发件人作为 对象,e As EventArgs)句柄 InfoTimer.Tick
Dim state As InputState = DirectCast (AxVLCPlugin21.input.state,InputState)
选择 案例
案例 InputState.IDLE,InputState.OPENING,InputState.BUFFERING
Status.Text = state.ToString()
退出 选择
案例 InputState.PLAYING
Dim title As 字符串 = System.IO.Path.GetFileName(AxVLCPlugin21.mediaDescription.title)
Dim 当前 As TimeSpan = TimeSpan.FromMilliseconds(AxVLCPlugin21.input.Time)
Dim total As TimeSpan = TimeSpan.FromMilliseconds(AxVLCPlugin21.input.Length)
Dim pos 正如 Double = AxVLCPlugin21.input.Position
Status.Text = String 。格式( {0} {1} {2}:{3:D2} / {4}:{5: D2} {6:P},state,title,current.Minutes,current.S econds,total.Minutes,total.Seconds,pos)
退出 选择
案例 InputState.PAUSED
Status.Text = 字符串 .Format( {0} {1},state,System.IO.Path.GetFileName(AxVLCPlugin21.mediaDescription.title))
退出 选择
案例 InputState.STOPPING,InputState.ENDED
playsecond()
退出 选择
案例 InputState.ERRORSTATE
Status.Text = 字符串 .Format( {0} {1},state,AxVLCPlugin21.mediaDescription.title)
退出 选择
案例 Else
Status.Text = state.ToString()
退出 选择
结束 选择
结束 Sub

结束

解决方案

这是您正在使用的VLC组件的内部问题,而不是您的VB.NET代码。



联系您正在使用的组件的制造商以获得支持此

When I pause streaming video VLC component on VB.Net. Come back few minutes later. Click play again it restarts from beginning. Then I have to click point on slider where was last at, so to resume


Sometimes this will even occur when playing streamed video without being paused, all of a sudden will stop or restart from beginning. And I will have to then click position on slider manually and wait to buffer again


Does anyone know of a fix for this?


Code below:

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

解决方案

That is an internal problem with the VLC component you''re using, not with your VB.NET code.

Contact the manufacturer of the component you''re using for support on this.


这篇关于当我在VB.Net上暂停流视频VLC组件时。几分钟后回来。再次单击“播放”,从开始或停止重新开始的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆