我如何使用此异步函数的回调参数来了解我的函数何时完成执行?

How do I use this async function's callback parm to know when my function finished executing?

总体上是 flutter 和异步编程的新手。我想使用这个功能:

https://pub.dev/documentation/ffmpeg_kit_flutter/latest/ffmpeg_kit/FFmpegKit/executeAsync.html

我不明白上面说的部分

You must use an FFmpegSessionCompleteCallback if you want to be notified about the result.

有人可以像我是初学者一样解释如何使用它吗?这个参数是我可以用来向控制台打印一条简单消息的东西吗,比如 'execution finished'?

到目前为止我尝试了什么:

String test1() {
    return 'FFMPEG FINISHED';
  }

...later in the code

await FFmpegKit.executeAsync('ffmpeg -i ' + FileDir.path + currentFilename + ' ' + FileDir.path + currentOutputFilename + '.mp3', test1());

这给出了指向 await FFmpegKit... 行末尾的错误:The argument type 'String' can't be assigned to the parameter type 'void Function(FFmpegSession)?'.

回调将在操作完成时调用。然而,当你这样做时

await FFmpegKit.executeAsync(..., test1());

您没有传递回调。相反,您自己 调用 您的函数并传递结果(因类型错误而失败)。

您需要传递函数本身,而不是调用它的结果:

await FFmpegKit.executeAsync(..., test1);

此外,您的 test1 回调签名错误,它不会执行任何操作,因为它只是 returns 一个不会在任何地方使用的值。因此,您需要进行额外的更改:

void test1(FFmpegSession session) {
  print('FFMPEG FINISHED');
}