2014-06-23 5 views
1

mediastore에서 FULL_SCREEN_KIND 미리보기 이미지를 가져 오려고하면 '지원되지 않는 종류 : 2'오류가 계속 발생합니다. 나는 URI가 유효한 이미지라는 것을 알고있다. (나는 이미 작은 엄지 손가락을 이미 가지고 있기 때문에). 내 오류는 어디에 있습니까? 고맙습니다.mediastore에서 전체 화면 축소판 가져 오기 - Android

내 코드

Long myURI = Long.parseLong(record.getString("FILE_ID")); 

if (record.getString("FILE_TYPE").equalsIgnoreCase("image")) { 

    Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(mContext.getContentResolver(), myURI ,MediaStore.Images.Thumbnails.FULL_SCREEN_KIND, (BitmapFactory.Options) null); 
    return bitmap; 

} 

else if (record.getString("FILE_TYPE").equalsIgnoreCase("video")) { 

    Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(mContext.getContentResolver(), myURI, MediaStore.Video.Thumbnails.FULL_SCREEN_KIND, (BitmapFactory.Options) null); 
    return bitmap; 

} 

로그 캣

06-22 15:24:05.160 3510-3935/com.diverg.tidy I/asd﹕ ID: 50735 
06-22 15:24:05.910 3510-3935/com.diverg.tidy W/dalvikvm﹕ threadid=21: thread exiting with uncaught exception (group=0x41ab3ba8) 
06-22 15:24:05.941 3510-3935/com.diverg.tidy E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-8183 
Process: com.diverg.tidy, PID: 3510 
java.lang.IllegalArgumentException: Unsupported kind: 2 
    at android.provider.MediaStore$InternalThumbnails.getThumbnail(MediaStore.java:670) 
    at android.provider.MediaStore$Images$Thumbnails.getThumbnail(MediaStore.java:1022) 
    at com.diverg.tidy.LightboxImageManager.getBitmap(LightboxImageManager.java:105) 
    at com.diverg.tidy.LightboxImageManager.access$400(LightboxImageManager.java:32) 
    at   com.diverg.tidy.LightboxImageManager$ImageQueueManager.run(LightboxImageManager.java:250) 
    at java.lang.Thread.run(Thread.java:841) 

답변

1

http://developer.android.com/reference/android/provider/MediaStore.Video.Thumbnails.html

"종류"PARAM이 MICRO_KIND 또는 MINI_KIND이어야한다 보인다. 위의 안드로이드-8 (프로 요) 또는에있는 경우

+0

그러나 심지어 당신이 링크 된 문서에, 그것은 "FULLSCREEN_KIND"보여줍니다. 어떻게하면 비디오의 큰 미리보기 이미지를 얻을 수 있습니까? 기본 안드로이드 갤러리는 그것을 수행합니다 ... – zsoflin

+0

더 큰 썸네일을 원한다면 필드 선언이 아닌 메소드 선언을 읽고 MINI_KIND를 사용해야합니다 .http : //stackoverflow.com/questions/20208007/difference-between-micro-kind- and-mini-kind-in-mediastore-in-android – jobcrazy

+0

설명해 주셔서 감사합니다. 전체 화면 이미지를 보여 주며 512 x 384가 충분히 큰지 궁금합니다. 나는 그것이 확실하지 않습니다. createScaledBitmap() 외에도 더 큰 축소판을 가져 오는 또 다른 방법이 있습니까? 도와 주셔서 다시 한 번 감사드립니다! – zsoflin

0

,이 같은 ThumbnailUtils.createVideoThumbnail를 사용할 수 있습니다

Bitmap thumb = ThumbnailUtils.createVideoThumbnail(path, 
    MediaStore.Images.Thumbnails.FULL_SCREEN_KIND);