c# - c#异步等待任务:不能等待'void'
问题描述
我一直在为一个项目使用 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();
}
}
解决方案
您正在尝试await
调用返回.Start()
的. 删除该调用并等待返回的自身:Task
ToMp4()
Start()
Task
await FFmpeg.FFmpeg.Conversions.FromSnippet.ToMp4(inputFileName, outputFileName);
推荐阅读
- json - 为什么我无法向 Zoho Sales Order API 提交记录?
- docker - docker:打开/.env:没有这样的文件或目录
- javascript - DOM 的问题无法检测 vanilla JS 中的变化值
- python - 使用 dask.to_csv 写入文件时忽略 KeyError
- swift - 将 RealityKit 的“rcproject”添加到 ARKit 的 SCNScene
- python - 如何在 json 文件中将“”更改为“”
- python - 字符串到字符串的列表
- java - 在Java中计算原始数字类型的余数/模的最快方法是什么?
- python - AttributeError: 'Options' object has no attribute 'binary' 使用 GeckoDriver 通过 Selenium 调用 Headless Firefox 错误
- mysql - MariaDB - 聚合函数和 GROUP BY 依赖