我正在尝试使用MediaStore.Video.query()方法从视频文件(标题,语言,艺术家)中检索元数据.但是,该方法始终返回null.代码如下:
String[] columns = {
MediaStore.Video.VideoColumns._ID,
MediaStore.Video.VideoColumns.TITLE,
MediaStore.Video.VideoColumns.ARTIST
};
Cursor cursor = MediaStore.Video.query(getApplicationContext().getContentResolver(), videoUri,columns);
if (cursor != null) {
cursor.moveToNext();
}
String title = cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.TITLE));
Run Code Online (Sandbox Code Playgroud)
关于如何使用android返回视频元数据的任何建议?
==更新
当我在很多地方搜索时,我尝试了一个使用CursorLoader的解决方案.但是,CursorLoader中的方法loadInBackground()也返回null.代码如下所示:
String[] columns = {
MediaStore.Video.VideoColumns.TITLE
};
Uri videoUri = Uri.parse("content://mnt/sdcard/Movies/landscapes.mp4");
CursorLoader loader = new CursorLoader(getBaseContext(), videoUri, columns, null, null, null);
Cursor cursor = loader.loadInBackground();
cursor.moveToFirst();
String title = cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.TITLE));
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下自定义配置文件通过docker加载 prometheus:danilo@machine:/prometheus-data/prometheus.yml:
全球的: scrape_interval: 15s # 默认情况下,每 15 秒抓取一次目标。Run Code Online (Sandbox Code Playgroud)# 将这些标签附加到任何时间序列或警报时与 # 外部系统(联邦、远程存储、警报管理器)。 外部标签: 监视器:'代码实验室监视器'
# 一个只包含一个要抓取的端点的抓取配置: # 这里是 Prometheus 本身。 刮配置: # 作业名称作为标签添加
job=<job_name>到从此配置中抓取的任何时间序列中。 - 工作名称:'普罗米修斯'# Override the global default and scrape targets from this job every 5 seconds. scrape_interval: 5s static_configs: - targets: ['localhost:9090'] - targets: ['localhost:8083', 'localhost:8080'] labels: my_app group: 'my_app_group'
使用以下命令:
$ sudo docker run -p 9090:9090 prom/prometheus --config.file=/prometheus-data/prometheus.yml
该文件已经存在。但是,我收到以下消息:
level=error ts=2018-09-26T17:45:00.586704798Z caller=main.go:617 err="error loading config from \"/prometheus-data/prometheus.yml\": 无法加载配置 (-- …