我可以将声音保存在本地存储中吗?

时间:2019-02-04 11:11:33

标签: dart flutter

我需要一个将来自API的声音保存在本地存储中的函数,以便稍后通过Flutter中的音频播放器插件播放。有没有人尝试做这样的事情?

1 个答案:

答案 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;
}