我需要一个将来自API的声音保存在本地存储中的函数,以便稍后通过Flutter中的音频播放器插件播放。有没有人尝试做这样的事情?
答案 0 :(得分:0)
您从哪里得到声音?网址?假设将其从URL复制到一个临时文件,然后将该临时文件的uri传递到音频播放器。
import 'dart:async';
import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:path_provider/path_provider.dart';
Future<Uri> fetchAudio(String url, String filename) async {
Directory tempDir = await getTemporaryDirectory();
String tempPath = tempDir.path;
File tempFile = File('$tempPath/$filename');
http.Response response = await http.get(url);
// todo - check status
await tempFile.writeAsBytes(response.bodyBytes, flush: true);
return tempFile.uri;
}