怎么从自己设置的音频文件目录,得到文件,将信息存储入数据库。
其他问答
1
怎么从自己设置的音频文件目录,得到文件,将信息存储入,数据库。 我现在扫描就用的是,在andoird端录制语音后,存储入指定的文件包里。然后,现在是想从那个包里循环出来那个文件的信息哈。 这是写的本地路径
这是在音频服务中 调用的路径 定义
private final String PATH_PRIVATE_CATALOG= TuyuRecordPathConst.AUDIO_PATH;
scanTuyu(PATH_PRIVATE_CATALOG);
private void scanTuyu(String path) {
/**
* 文件结构
* SDcard:是文件夹吗? 是文件夹就 继续listPath,直到变成文件
* 不是文件夹 则-->endWith(mp3) 结尾是mp3,那就是了
* 搜索是根据文件夹的目录来的
* */
//这里的path是上面 内存卡根目录PATH_SDCARD = getSDCardPath()
File file = new File(path + "/");// 斜杠是Tuyu下面一级,方便定位
//如果为空,就不继续下去了
if (file == null) {
return;
}
//拿到当前列表
File[] files = file.listFiles();
//如果files不为空,则遍历。 是数组则length
if (files != null) {
for (File value : files) {
//是否是文件夹,目录
if (value.isDirectory()) {
//
scanTuyu(value.getPath());
} else {
//最后如果是mp3,就可以解析了 if (files[i].getName().endsWith(".mp3")
// || files[i].getName().endsWith(".wav"))
if (value.getName().endsWith(".mp3") | value.getName().endsWith(".amr")) {
//是土语了,就解析 要绝对路径。
parsingMediaTuyu(value.getAbsolutePath());
}
}
}
}
}
-
不要直接用Environment.getExternalStorageDirectory() 要么直接存私有目录:context.getExternalFilesDir或context.getExternalCacheDir() 要么存公共目录:context.getContentResolver().insert(@RequiresPermission.Write @NonNull Uri url,@Nullable ContentValues values)
-
你是想在这个函数的基础上补充一些,然后获得所有音频文件的路径等信息吗? 这样的话你可能需要调整一下parsingMediaTuyu这个方法,将指定路径的文件获取相关信息并返回,并将返回结果存储到List返回
发表回复