无法在VB6中添加VideoLAN VLC组件

时间:2013-01-05 04:29:06

标签: vb6 activex webcam vlc name-conflict

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

但是,当我尝试将相同内容添加到项目中时,会发生错误。弹出窗口显示如下:

enter image description here

我已经尝试过网上建议的一些解决方案。但是,我无法解决这个棘手的问题。

我的系统配置是:Win XP 32位SP3,Visual Basic 6,VLC 2.0.1

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

如果需要任何其他详细信息,请与我们联系。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

vlc.playlist.Add ("file:///C:\video.mp4")