FlyleafLib выдает сообщение «Ошибка загрузки библиотек FFmpeg» в Engine.Start в приложении WPFC#

Место общения программистов C#
Anonymous
FlyleafLib выдает сообщение «Ошибка загрузки библиотек FFmpeg» в Engine.Start в приложении WPF

Сообщение Anonymous »

Я разрабатываю приложение WPF и решил использовать FlyleafLib для воспроизведения видео. Я установил FlyleafLib через NuGet. Затем я загрузил общую сборку FFmpeg (с файлами .dll) и поместил ее в C:\ffmpeg.
Я настроил инициализацию внутри App.xaml.cs. Однако когда я запускаю приложение, оно сразу же вылетает при запуске. Я завернул Engine.Start в блок try-catch и обнаружил следующее исключение:

Критическая ошибка: Не удалось загрузить библиотеки FFmpeg 'C:\ffmpeg' Stack Trace: в FlyleafLib.FFmpegEngine..ctor() в FlyleafLib.Engine.StartInternalNonUI()

Вот мой код инициализации App.xaml.cs:

Код: Выделить всё

using System;
using System.IO;
using System.Windows;
using FlyleafLib;

namespace NUR
{
public partial class App : System.Windows.Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);

try
{
try
Engine.Start(new EngineConfig()
{
FFmpegPath = @"C:\ffmpeg",

#if RELEASE
FFmpegLogLevel      = Flyleaf.FFmpeg.LogLevel.Quiet,
LogLevel            = LogLevel.Quiet,
#else
FFmpegLogLevel = Flyleaf.FFmpeg.LogLevel.Warn,
LogLevel = LogLevel.Debug,
LogOutput = ":debug",
//LogOutput         = ":console",
//LogOutput         = @"C:\Flyleaf\Logs\flyleaf.log",
#endif

//PluginsPath       = @"C:\Flyleaf\Plugins",

UIRefresh = false,    // Required for Activity, BufferedDuration, Stats in combination with Config.Player.Stats = true
UIRefreshInterval = 250,      // How often (in ms) to notify the UI
});
}
catch (Exception ex)
{

System.Windows.MessageBox.Show(
$"Критическая ошибка инициализации Flyleaf:\n\n" +
$"Сообщение: {ex.Message}\n\n" +
$"Внутренняя ошибка: {ex.InnerException?.Message}\n\n" +
$"Стек вызовов:\n{ex.StackTrace}",
"Ошибка запуска",
MessageBoxButton.OK,
MessageBoxImage.Error);

Shutdown();
}
}
}
}

Код: Выделить всё

using System;
using System.Windows.Controls;
using FlyleafLib;
using FlyleafLib.MediaPlayer;

namespace NUR.Views
{
public partial class VideoForm : UserControl
{
public Player Player { get; set; }
public Config Config { get; set; }

public VideoForm()
{
Config = new Config();

Player = new Player(Config);

InitializeComponent();

DataContext = this;

}

}
}
`.xaml` Что я пробовал до сих пор:
  • Я проверил, что цель сборки моего проекта строго установлена на x64 в Visual Studio.
  • Я пробовал разные версии FFmpeg (включая старые сборки 4.4 и новые сборки), но исключение сохраняется.
  • Папка C:\ffmpeg содержит реальные файлы .dll (например, avcodec, avformat и т. д.), а не только интерфейс командной строки ffmpeg.exe.
Что мне нужно сделать?

Вернуться в «C#»