java - android - 如何获取系统音频的位置
问题描述
现在,我正在避免为设备和模拟器加载系统音频,方法是在查询时将它们硬编码在 SQLiteNOT LIKE ...
语句中ContentResolver
,但是,我发现存储系统音频的位置(如警报音和所有音频)工厂加载)在所有 android 设备中都没有标准位置。
因此,为了避免加载所有系统音频,我需要一种方法来获取这些音频所在的目录,到目前为止,我已经收集了系统音频可能所在的这些位置的数据:
"/system%",
"/storage/emulated/legacy/Ringtones/%",
"/storage/emulated/0/Ringtones%",
"/product/media/audio%"
但是,由于这些可能还不够,有没有办法获取系统音频在 android 中所在的目录路径?
解决方案
使用MediaStore查询音频文件,然后使用AudioColumns过滤音频文件,更具体的警报声音使用IS_ALARM。
正如你所说 :
我发现存储系统音频的位置在所有 android 设备中都没有标准位置。
MediaStore 是一个保存文件引用的数据库,它是一种在不同系统存储位置查询文件的解决方案。
推荐阅读
- registry - HKEY_LOCAL_MACHINE\SOFTWARE\Classes 与 HKEY_CLASSES_ROOT
- c# - 以用户身份运行程序但具有提升的权限
- javascript - 单击按钮时保持焦点在输入框上
- php - 如何将php数组传递给ajax函数
- java - JAVA:将集合中的垂直对象值迭代为水平对象值
- python - python make_chunks 来自音频流 wav 或 mp3
- c# - 当从一个控制器调用一个方法到另一个控制器会话变为空
- php - 我已经安装了elasticsearch,但是如何通过多个表列中的多个输入字段从MySQL表中搜索数据
- java - 如何获取新替换字符串的新值?
- javascript - 如何隐藏来自客户端反应js网站的请求