1

我想创建一个简单的 VB 项目,它可以在表单上播放来自闭路电视网络摄像头的实时信息。为此,我计划在我的 VB 表单中嵌入 VLC。我已经在我的电脑上安装了 VLC。在组件列表中,我也获得了 VLC activeX 组件的条目。

但是,当我尝试将其添加到我的项目时,会发生错误。弹出如下所示:

在此处输入图像描述

我已经按照网上的建议尝试了一些解决方案。但是,我无法解决这个烦人的问题。

我的系统配置是:Win XP 32-bit SP3、Visual Basic 6、VLC 2.0.1

另外,我的最终要求是在表单上播放网络摄像头。我认为 VLC 最适合,因为它可以直接播放网络摄像头。如果还有其他可用的解决方案,我也会很感激知道它们。

让我知道是否需要任何其他详细信息。

4

3 回答 3

1

不知道这是否应该是一个单独的答案,但这是实际的答案和解决方案!

此代码引用 VideoLan VLC ActiveX 插件 - axvlc.dll 并且只需要一个空白表单 注意:通过引用添加,而不是通过组件 > 控件。

Dim vlcControl As Object
Dim WithEvents vlcPlayer As AXVLC.VLCPlugin2

Private Sub Form_Load()

    Set vlcControl = Controls.Add("VideoLAN.VLCPlugin.2", "vlcControl")

    vlcControl.Height = 6000
    vlcControl.Width = 10000
    vlcControl.Visible = True

    Set vlcPlayer = vlcControl.object

    ' I haven't figured out how to get this to play local files...
    vlcPlayer.playlist.Add ("http://url.com/video.mp4")
    vlcPlayer.playlist.play
End Sub


Private Sub vlcPlayer_MediaPlayerPlaying()
    Debug.Print "Playing"
End Sub


Private Sub vlcPlayer_MediaPlayerEndReached()
    Debug.Print "Stopped"
End Sub

编辑:这是一个单独的示例,不需要参考:

此代码只需要一个空白表单和安装/注册的 VLC ActiveX 注意:您无权访问 VLC 事件触发器

Dim vlcControl As Object

Private Sub Form_Load()

    Set vlcControl = Controls.Add("VideoLAN.VLCPlugin.2", "vlcControl")

    vlcControl.Height = 6000
    vlcControl.Width = 10000
    vlcControl.Visible = True


    ' I haven't figured out how to get this to play local files...
    vlcControl.object.playlist.Add ("http://url.com/video.mp4")
    vlcControl.object.playlist.play
End Sub
于 2015-04-30T20:13:16.550 回答
0

显然这是 VLC 插件的一个问题,这个问题可以追溯到 2012 年之前,网络上充斥着这个问题,它与您、您的计算机或您的安装无关。

问题很简单,错误告诉你到底发生了什么。旧插件在 VB6 上运行良好,当您添加控件时,它在 VB6 工具箱中添加了2 个不同的控件。不知道有什么区别,但问题是,这两个控件具有相同的名称。当 VB6 尝试添加此控件时,它尝试添加两个不同的控件,它们现在具有相同的系统名称,而 VB6 不允许这样做。

传播这个词,不要让任何菜鸟告诉你重新安装 VLC,因为那不会让你到任何地方,你需要一个旧版本的 VLC。:)

于 2015-04-29T00:48:37.293 回答
0
vlc.playlist.Add ("file:///C:\video.mp4")
于 2015-12-05T08:30:15.317 回答