Управление VLC через С#

Я пишу приложение, которое откроет vlc, добавит файл в свой список воспроизведения и воспроизведет его. У меня есть некоторые проблемы с последними 2.

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

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

Это не работает... Есть идеи?

Спасибо


person Dandrews    schedule 06.04.2012    source источник
comment
codeproject.com/Articles/109639/nVLC   -  person Flot2011    schedule 15.04.2012


Ответы (2)


В более новой версии VLC требуется «file:///» в начале имени файла. Это должно работать, если вы добавите это. Пожалуйста, попробуйте следующее и посмотрите, решит ли это вашу проблему. используйте 1_

person Sblb    schedule 07.10.2012
comment
Это сработало для меня. К сожалению, ни одна из оберток не задокументировала это. Спасибо. - person Alireza Maddah; 11.04.2014

C# может получить доступ к VLC через уровень COM. Первое, что нужно сделать, это зарегистрировать файл axvlc.dll. Откройте окно cmd и введите:

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

Вы должны получить диалоговое окно, подтверждающее, что ваша dll была успешно зарегистрирована. Откройте VisualStudio, создайте новый проект WinForms и добавьте ссылку на COM-объект COM VLC. Перейти к файлу cs формы

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();
           }
     }
 }

Примечание. VLCPluginClass устарел, используйте VLCPlugin2Class.

person Dan Busha    schedule 14.04.2012
comment
Пробовал это, но получил Interop type 'AXVLC.VLCPlugin2Class' cannot be embedded. Use the applicable interface instead. от компилятора. - person christophrus; 07.07.2013
comment
Чтобы удалить тип взаимодействия, «AXVLC.VLCPlugin2Class» не может быть встроен. Используйте соответствующий интерфейс вместо error. Щелкните правой кнопкой мыши ссылку AXVLC и перейдите к свойствам. Установите Embedded Interops Type на false. - person Ray; 22.06.2014