У меня проблема с MediaFoundationEncoder. Когда я выполняю следующий код в методе BackgroundWorkers DoWork, я получаю пустой файл mp4, исключение не выдается, и приложение немедленно закрывается:
private void Mp4_DoWork(object sender, DoWorkEventArgs e)
{
try {
using (var reader = new MediaFoundationReader(_currentFilePath))
{
using (var encoder = new MediaFoundationEncoder(quality))
{
encoder.Encode(_mp4Path, reader);
}
}
} catch (Exception ex) {
Log.LogError("...", ex, true, false);
}
}
Все пути к файлам действительны, а переменная _currentFilePath указывает в wav-файл размером около 50 МБ, который не используется и который я могу успешно кодировать, когда указанный выше код не запущен в BackgroundWorker. Также метод RunWorkerCompleted не вызывается. При отладке получаю encoder.Encode(_mp4Path, reader);
и все. Есть идеи?