DllNotFoundException: невозможно загрузить DLL 'libvlc': указанный модуль не найден - PullRequest
1 голос
/ 21 мая 2019

Я настраиваю видеоплеер, используя LibVLCSharp (пакет VLC nuget) Я установил VideoLAN.LibVLC.Windows и LibVLCSharp.WPF и до сих пор все выглядит хорошо, прежде чем я скомпилирую и запуском своего кода.

Мой файл VideoPlayer.xaml.cs так:

using LibVLCSharp.Shared;

using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using MediaPlayer = LibVLCSharp.Shared.MediaPlayer;

namespace kec_wpf.ui
{
    public partial class VideoPlayer : Window
    {
        LibVLC _libVLC;
        MediaPlayer _mediaPlayer;

        public VideoPlayer()
        {
            InitializeComponent();

            var label = new Label
            {
                Content = "TEST",
                HorizontalAlignment = HorizontalAlignment.Right,
                VerticalAlignment = VerticalAlignment.Bottom,
                Foreground = new SolidColorBrush(Colors.Red)
            };
            test.Children.Add(label);

            _libVLC = new LibVLC();
            _mediaPlayer = new MediaPlayer(_libVLC);

            // we need the VideoView to be fully loaded before setting a MediaPlayer on it.
            VideoView.Loaded += (sender, e) => VideoView.MediaPlayer = _mediaPlayer;
        }

        void StopButton_Click(object sender, RoutedEventArgs e)
        {
            if (VideoView.MediaPlayer.IsPlaying)
            {
                VideoView.MediaPlayer.Stop();
            }
        }

        void PlayButton_Click(object sender, RoutedEventArgs e)
        {
            if (!VideoView.MediaPlayer.IsPlaying)
            {
                //VlcControl.SourceProvider.MediaPlayer.Play(new Uri("pack://siteoforigin:,,,/assets/content/" + Title + ".mp4"));
                VideoView.MediaPlayer.Play(new Media(_libVLC,
                    "http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4", FromType.FromLocation));
            }
        }
    }
}

Но ошибка, которую я получаю при запуске и запуске:

DllNotFoundException: невозможно загрузить библиотеку DLL 'libvlc': указано модуль не найден (Исключение из HRESULT: 0x8007007E)

Я не знаю, как это исправить, поскольку в папке bin / debug я вижу папку с именем "libvlc", в которой находятся папки "win-x64" и "win-x86".

Мое временное решение:

  1. Установите для моей программы значение x32 в Project >> Properties
  2. Скопировал libvlc.dll и libvlccore.dll и все папки lua, locale, plugins и skins в мою папку отладки.

Пока это работает, но мне нужно прагматичное решение, потому что у меня VideoLAN.LibVLC.Windows уже в проекте.

1 Ответ

3 голосов
/ 21 мая 2019
...