Для воспроизведения локальных видео с нестандартной кодировкой, добавил в приложение поддержку MXPlayer. Но проблема в том, что сначала нужно показать список видео на устройстве пользователю в моём UI.
Сейчас программа берет список видео на устройстве так:
String[] projection = new String[]{MediaStore.Video.Media._ID, MediaStore.Video.Media.DATA, MediaStore.Video.Media.TITLE};
Cursor cursor = activity.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, null, null, null);
while (cursor.moveToNext()) {
if (MediaStore.Video.Thumbnails.getThumbnail(activity.getContentResolver(), cursor.getLong(0), MediaStore.Video.Thumbnails.MINI_KIND, null) != null) {
publishProgress(new Pair<>(cursor.getLong(0), cursor.getString(2)));
}
}
cursor.close();
и есть пользователи, которые жалуются, что видео-файлы с нестандартной кодировкой (например некоторые MKV) приложение просто не видит и не показывает в списке.
Есть ли какие-то способы расширить список видео, который видит MediaScanner или ещё как-то обнаружить их и показать пользователю?