Flutter 和異步編程的新手。我想使用這個功能:
https://pub.dev/documentation/ffmpeg_kit_flutter/latest/ffmpeg_kit/FFmpegKit/executeAsync.html
我不明白說的部分
如果您想收到有關結果的通知,則必須使用 FFmpegSessionCompleteCallback。
有人可以像我是初學者一樣解釋如何使用它嗎?這個引數是我可以用來向控制臺列印一條簡單訊息的東西嗎,比如“執行完成”?
到目前為止我已經嘗試過:
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)?'.
uj5u.com熱心網友回復:
操作完成時將呼叫回呼。但是,當你這樣做
await FFmpegKit.executeAsync(..., test1());
你沒有通過回呼。相反,您自己呼叫函式并傳遞結果(由于型別錯誤而失敗)。
您需要傳遞函式本身,而不是呼叫它的結果:
await FFmpegKit.executeAsync(..., test1);
此外,您的test1回呼有錯誤的簽名,它不會做任何事情,因為它只是回傳一個不會在任何地方使用的值。因此,您需要進行額外的更改:
void test1(FFmpegSession session) {
print('FFMPEG FINISHED');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/433719.html
