Как получить выбор треков, используя диапазон длительности
Я пытаюсь выбрать треки, используя диапазоны продолжительности. например
String start = null;
String end = null;
if (criteria == getString(R.string.uptofivemins)) {
start = "0";
end = "300000";
}
String[] crit = {start,end};
String where = "duration >= ? AND duration < ? ";
//....
private final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
private final String duration = MediaStore.Audio.Media.DURATION;
//etc...
cr.query(uri, columns, where, crit, null);
Проблема, как представляется, заключается в том, что, поскольку мне нужно указать начало и конец строки, полученный запрос будет выполнен с использованием этих параметров. Поле базы данных "duration", однако, имеет тип int, и из результатов, которые возвращаются, я подозреваю, что сравнение не со строками, а со строками, поэтому выбор неправильный. Любой, у кого есть идеи о том, как выбирать треки с использованием диапазонов длительности, например,< 5 минут, от 5 до 10 минут и т. Д. Любая помощь очень ценится.
1 ответ
Проблема была решена. Сочетание человеческой ошибки и нетерпения. Запрос выполняется против аудио таблицы
SELECT duration FROM audio WHERE duration >= '300000' AND duration <= '600000';