2012-04-06 16 views
5

Piszę aplikację, która otworzy vlc, doda plik do listy odtwarzania i go odtworzy. Mam kilka problemów z ostatnim 2.Sterowanie VLC przez C#

AXVLC.VLCPlugin alxplugin1 = new AXVLC.VLCPlugin(); 

       alxplugin1.addTarget("C:\\test.avi", null, AXVLC.VLCPlaylistMode.VLCPlayListInsert, 0); 
       alxplugin1.play(); 

To nie działa ... Jakieś pomysły?

Dzięki

+0

http://www.codeproject.com/Articles/109639/nVLC – Flot2011

Odpowiedz

2

C# ma dostęp do VLC poprzez warstwę COM. Pierwszą rzeczą do zrobienia jest zarejestrowanie pliku axvlc.dll. Otwórz okno cmd i wpisz:

C:\Windows\System32\regsvr32.exe C:\Program Files (x86)\VideoLAN\VLC\axvlc.dll 

Powinieneś otrzymać okno dialogowe potwierdzające, że biblioteka dll została pomyślnie zarejestrowana. Otwórz VisualStudio i utwórz nowy projekt WinForms i dodaj odwołanie do obiektu COM VLC COM. Przejdź do formularza cs plik

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
      public Form1() 
      { 
       InitializeComponent(); 

       AXVLC.VLCPlugin2Class p = new AXVLC.VLCPlugin2Class(); 
       p.addTarget("C:\\zk.m4a", null, VLCPlaylistMode.VLCPlayListInsert, 0); 
       p.play(); 
      } 
    } 
} 

Uwaga: VLCPluginClass była przestarzała, użyj VLCPlugin2Class

+2

próbowałem, ale coraz 'typu Interop 'AXVLC.VLCPlugin2Class' nie mogą być osadzone. Zamiast tego użyj odpowiedniego interfejsu. "Z kompilatora. – lorus

+4

Aby usunąć typ "typu interopowego", nie można osadzić obiektu AXVLC.VLCPlugin2Class. Zamiast tego należy użyć odpowiedniego interfejsu. Kliknij prawym przyciskiem myszy referencje AXVLC i właściwości goto. Ustaw "Wbudowany typ interopii" na false. – Ray

4

Nowsza wersja VLC potrzebuje "file: ///" w początku nazwy pliku. Powinien działać, jeśli to dodasz. Wypróbuj poniższe rozwiązania i sprawdź, czy rozwiązuje problem. zastosowanie: alxplugin1.addTarget("file:///" + "C:\\test.avi", null, AXVLC.VLCPlaylistMode.VLCPlayL­istReplaceAndGo,0);

+0

To zadziałało dla mnie. Niestety, żaden z owijaczy tego nie udokumentował. Dzięki. –