2013-10-23 3 views
0

У меня есть audio 3gp file и video 3gp file. Мне нужен только видеофайл 3gp, но мой запрос возвращает мне как аудио, так и видеофайл. My Api level isКак различать аудиофайл 3gp и видео 3gp-файл

Вот мой запрос

String[] data = { MediaStore.Video.Media.DATA }; 
Cursor vid_cursor=this.managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,data, null, null, null); 

Я могу фильтровать его, проверяя высоту, только видео будет возвращать высоту, как показано here, но я не хочу, чтобы вычислить высоту каждый раз.

ответ

1

Попробуйте это может, помогает

String[] data = { MediaStore.Video.Media.DATA }; 
     Cursor vid_cursor=this.managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,data, MediaStore.Video.Media.HEIGHT+">0", null, null); 

Это будет работать с уровнем API 16 и далее.

Обновление: для нижней версии (мы должны проверить тип содержимого, как это)

ursor vid_cursor=this.managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,data, MediaStore.Video.Media.CONTENT_TYPE +" like %video%", null, null); 
+0

Это дает ошибку 'ВЫСОТА не может быть разрешен или не field' –

+0

жаль, что это будет работать с уровнем апи 16 и далее. Дайте мне 5 минут, чтобы посмотреть на альтернативу. –

+0

mime type возвращает формат как mp4, 3gpp и т. Д. Поэтому ur запрос не работает –

Смежные вопросы