錄音錄完了,檔案呢?
「如何將錄音內容存成獨立檔案?」這樣問AI,結果得到的答案還真詳盡。
首先,它告訴我網頁系統無法直接將手伸到電腦的檔案系統,那該怎麼辦?別擔心,它還立刻幫我想到替代方案。
「要用檔案下載機制,將檔案存檔後用個本機端的URL將檔案下載下來。」
void downloadData(html.Blob? blob) {
// Create a Blob from the data
// final blob = html.Blob([data]);
if (blob == null) {
print('No data to download');
return;
}
// Create a URL for the Blob
final url = html.Url.createObjectUrl(blob);
// Get the current date and time
final now = DateTime.now();
// Format the date and time as YYYYMMDDHHMMSS
final formattedDateTime = '${now.year}${now.month.toString().padLeft(2, '0')}${now.day.toString().padLeft(2, '0')}${now.hour.toString().padLeft(2, '0')}${now.minute.toString().padLeft(2, '0')}${now.second.toString().padLeft(2, '0')}';
//Create a download link
final anchor = html.AnchorElement()
..href = url
..download = 'recording_$formattedDateTime.wav'
..click();
// Revoke the URL after the download is complete
// html.window.setTimeout(() => html.Url.revokeObjectUrl(url), 0);
Future.delayed(Duration.zero, () => html.Url.revokeObjectUrl(url));
}
對了,因為我要求用日期當檔名,所以中間會看到一段取時間的程式碼。
存檔成功!萬歲.....真正的大魔王難題開始了!