Flutter - 以不可见模式保存音频/视频文件,类似于 Spotify/Youtube(离线下载)
Posted
技术标签:
【中文标题】Flutter - 以不可见模式保存音频/视频文件,类似于 Spotify/Youtube(离线下载)【英文标题】:Flutter - save Audio/Video file in invisible mode similarly Spotify/Youtube (Offline Downloads) 【发布时间】:2022-01-24 05:06:50 【问题描述】:我正在使用 Flutter 开发离线下载媒体等模块。
我有一些视频 DRM 工具的解决方案,例如 https://www.vdocipher.com/,但我想为音频实现它。
我知道的存储和隐藏媒体的最简单方法如下,但如果我打开显示隐藏文件,它将可见。
static Future<File> downloadAudioFile(String audioUrl) async
var hiddenFolder = '.nomedia';
var directoryExternal = await getExternalStorageDirectory();
final dir = Directory('$directoryExternal!.path/$hiddenFolder');
if ((await dir.exists()))
else
dir.create();
final http.Response responseData = await http.get(Uri.parse(audioUrl));
var uint8list = responseData.bodyBytes;
var buffer = uint8list.buffer;
ByteData byteData = ByteData.view(buffer);
String fileName = audioUrl.split('/').last;
File file = await File('$dir.path/.$fileName').writeAsBytes(
buffer.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));
return file;
我想做音频和视频文件,如果有人知道,请告诉我。
【问题讨论】:
我只是想知道。如果您将这些文件存储在数据库中,例如hive、sqflite 等作为字节数据,有用还是明智? 【参考方案1】:您好,您需要使用安全存储https://pub.dev/packages/flutter_secure_storage
【讨论】:
以上是关于Flutter - 以不可见模式保存音频/视频文件,类似于 Spotify/Youtube(离线下载)的主要内容,如果未能解决你的问题,请参考以下文章