Как получить выбор треков, используя диапазон длительности

Я пытаюсь выбрать треки, используя диапазоны продолжительности. например

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';
Другие вопросы по тегам