c#异步等待任务:不能等待'void'

use*_*458 1 c# async-await

我一直在为一个项目使用 Xabe.FFmpeg。任务、异步和等待对我来说是新的,但我一直在学习。我尝试使用 Xabe.FFmpeg 进行基本转换。我收到一条错误消息,提示“无法等待‘void’”。

public partial class FormMain : Form
{
    public FormMain()
    {
        InitializeComponent();
    }

    private void FormMain_Load(object sender, EventArgs e)
    {
        Run().GetAwaiter().GetResult();
    }

    private static async Task Run()
    {
        string inputFileName = @"C:\Users\npsie\Videos\Sample.mkv";
        string outputFileName = Path.ChangeExtension(inputFileName, ".mp4");
        await FFmpeg.FFmpeg.Conversions.FromSnippet.ToMp4(inputFileName, outputFileName).Start();
    }
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*vid 5

你试图await调用.Start()Task的返回ToMp4()。删除该调用Start()并等待返回的Task本身:

await FFmpeg.FFmpeg.Conversions.FromSnippet.ToMp4(inputFileName, outputFileName);
Run Code Online (Sandbox Code Playgroud)