ToneSnap_FSX_Flutter/lib/utils/local_path_util.dart
fengshengxiong 564f4b7b18 目前iOS无法修改播放音频的音调,增加提示和判断
修复部分我的音频和喜欢数据变化列表未刷新问题
2024-06-12 11:47:32 +08:00

65 lines
2.0 KiB
Dart

// Author: fengshengxiong
// Date: 2024/5/10
// Description: 本地路径
import 'dart:io';
import 'package:path_provider/path_provider.dart';
class LocalPathUtil {
/// 获取临时目录
/// `NSCachesDirectory` on iOS and macOS
/// `Context.getCacheDir` on Android.
static Future<Directory> getTemporaryPath() async {
return await getTemporaryDirectory();
}
/// 获取应用支持目录
/// `NSApplicationSupportDirectory` on iOS and macOS.
/// The Flutter engine's `PathUtils.getFilesDir` API on Android.
static Future<Directory> getSupportPath() async {
return await getApplicationSupportDirectory();
}
/// 获取应用文档目录
/// `NSDocumentDirectory` on iOS and macOS.
/// The Flutter engine's `PathUtils.getDataDirectory` API on Android.
static Future<Directory> getDocumentsPath() async {
return await getApplicationDocumentsDirectory();
}
/// 获取录音文件保存目录
static Future<Directory> getRecordingsDir() async {
Directory cacheDir = await getTemporaryPath();
Directory recordingsDir = Directory('${cacheDir.path}/recordings');
bool exist = await recordingsDir.exists();
if (!exist) {
// 若目录不存在,先创建
await recordingsDir.create();
}
return recordingsDir;
}
/// 获取录音文件保存目录
static Future<Directory> getAssetsDir() async {
Directory cacheDir = await getTemporaryPath();
Directory recordingsDir = Directory('${cacheDir.path}/assets');
bool exist = await recordingsDir.exists();
if (!exist) {
// 若目录不存在,先创建
await recordingsDir.create();
}
return recordingsDir;
}
/// 获取音频文件变声后输出目录
static Future<Directory> getVoiceChangeOutputDir() async {
Directory cacheDir = await getDocumentsPath();
Directory recordingsDir = Directory('${cacheDir.path}/change_voice');
bool exist = await recordingsDir.exists();
if (!exist) {
// 若目录不存在,先创建
await recordingsDir.create();
}
return recordingsDir;
}
}