怎么从自己设置的音频文件目录,得到文件,将信息存储入数据库。

代码客栈 其他问答 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());
                    }
                }
            }
        }
    }

回复

共2条回复 我来回复
  • 毕设客栈
    这个人很懒,什么都没有留下~
    评论

    不要直接用Environment.getExternalStorageDirectory() 要么直接存私有目录:context.getExternalFilesDir或context.getExternalCacheDir() 要么存公共目录:context.getContentResolver().insert(@RequiresPermission.Write @NonNull Uri url,@Nullable ContentValues values)

    0条评论
  • 代码工坊
    这个人很懒,什么都没有留下~
    评论

    你是想在这个函数的基础上补充一些,然后获得所有音频文件的路径等信息吗? 这样的话你可能需要调整一下parsingMediaTuyu这个方法,将指定路径的文件获取相关信息并返回,并将返回结果存储到List返回

    0条评论

发表回复

登录后才能评论