Наудио: Кодирование в BackgroundWorker -> Пустой целевой файл создан, Приложение закрыто и не генерируется никаких исключений - PullRequest
0 голосов
/ 06 марта 2020

У меня проблема с 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); и все. Есть идеи?

...