2013-01-05 9 views
1

양식의 CCTV 웹캠에서 라이브 피드를 재생할 간단한 VB 프로젝트를 만들고 싶습니다. 이를 위해 VLC를 VB 형식으로 임베드 할 계획입니다. 이미 PC에 VLC를 설치했습니다. 구성 요소 목록에서 VLC activeX 구성 요소에 대한 항목도 얻을 수 있습니다.VB6에서 VideoLAN VLC 구성 요소를 추가 할 수 없습니다.

그러나 프로젝트에 동일한 항목을 추가하려고하면 오류가 발생합니다. 다음과 같이 팝업이 나타납니다 : 그물에 제안 이미 몇 가지 솔루션을 시도

enter image description here

. 그러나, 나는이 잔소리 난 문제를 해결할 수 없습니다.

내 시스템의 설정은 다음과 같습니다 기본 6 비주얼 윈 XP 32 비트 SP3, VLC 2.0.1

또한, 나의 궁극적 인 요구 사항은 양식에 웹캠 피드를 재생하는 것입니다. VLC가 웹캠 피드를 직접 재생할 수 있기 때문에 VLC가 가장 적합하다고 생각했습니다. 사용할 수있는 다른 솔루션이있는 경우이를 알게되어 감사 할 것입니다.

추가 세부 정보가 필요한 경우 알려주십시오.

+0

는 VLC를 다시 설치하려고 했습니까? 일반적으로 이름 충돌은 다른 구성 요소와 이름이 같은 다른 구성 요소가 프로젝트에 있음을 의미합니다. 프로젝트 참고서에서 VLC에 대한 참조를 만들었습니까? 그렇다면이 오류가 나타날 수 있습니다. – vbguyny

답변

0

분명히 이것은 VLC 플러그인의 문제입니다. 2012 년 전에 거슬러 올라가는이 문제로 인해 웹이 흘러 나오고 있습니다.이 문제는 귀하, 귀하의 컴퓨터 또는 귀하의 설치와 관련이 없습니다.

문제는 간단하며 오류로 인해 발생하는 문제를 정확히 알 수 있습니다. 이전 플러그인은 VB6에서 정상적으로 작동했으며 컨트롤을 추가하면 두 개의 다른 컨트롤이 VB6 도구 상자에 추가되었습니다. 차이점을 모르지만 문제는이라는 두 컨트롤의 이름이 입니다. VB6이이 컨트롤을 추가하려고하면 VB6에서 허용하지 않는 동일한 시스템 이름을 가진 두 개의 다른 컨트롤을 추가하려고합니다.

아무 말도 안 들으면 VLC를 다시 설치하라고 알려주지 않습니다. 오래된 VLC 버전이 필요합니다. :)

+0

조금 더 알아 냈습니다. 원래 컨트롤과 함수를 더 이상 사용하지 않고 동일한 ActiveX 내에서 두 번째 컨트롤/함수를 만드는 개발자가 선택했기 때문입니다. 일부 명명 충돌이 v1.1.0에서 비추천 버전과 현재 ActiveX 버전 사이에서 다시 발생하여 문제가 발생했습니다. v1.1 이전 버전을 구해야합니다.VB6에서 사용할 0입니다. 불행히도이 오래된 버전은 m3u8 파일을 건너 뛰지 않고 (심지어 로컬 ..) 재생하지 않기 때문에이 기능이 작동하지 않습니다. – PsuFan

0

이것이 별도의 대답이되어야할지 모르겠지만 여기에 실제 답변과 해결책이 있습니다.

이 코드는 VideoLan VLC ActiveX 플러그인 -axvlc.dll을 참조하며 공백 양식 만 필요합니다. 참고 : Components> Controls가 아닌 References를 통해 추가하십시오.

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 액티브 아무것도 필요하지 않습니다/ 주 등록 : 당신은 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 
0
vlc.playlist.Add ("file:///C:\video.mp4")