2013-07-19 3 views
5

미안 미안 있도록이 같은 MediaMetadataRetriever.getFrameAtTime()를 사용하여, 비디오의 프레임을 얻으려고 노력 :MediaMetadataRetriever getFrameAtTime는 : videoframe는 널 포인터

Uri directorio = Uri.parse("android.resource://com.extremeye/" + R.raw.video); 
    media = new MediaMetadataRetriever(); 
    media.setDataSource(this, directorio); 

    frame = (ImageView)findViewById(R.id.frame); 
    Bitmap bmFrame = media.getFrameAtTime(); 
    frame.setImageBitmap(bmFrame); 

을하지만 문제는 내가 얻을 수 있다는 것입니다 :

MediaMetadataRetriever getFrameAtTime는 : videoframe는 로그 캣에서 널 포인터

입니다.

2.3.3 OS 버전에서 메타 데이터 설명을 문제없이 얻을 수 있기 때문에 비디오가 Android OS와 호환되며 MediaMetadataRetriever가이 비디오를로드합니다.

프레임을 가져올 수없는 이유는 모르겠지만 4.2 OS 버전을 사용하면 완벽하게 작동합니다. 비디오의 코덱과 형식을 변경하려고했지만 작동하지 않습니다 ... 형식 호환성 문제입니다.하지만 무엇을 할 수 있는지 모르겠습니다 ...

고마워요! !

+1

같은 토끼. 비디오 변환기를 다운로드하고 비디오가 H.246 코덱으로 호환되는지 확인했지만 여전히 null 포인터를 얻습니다. – Xenione

+1

(이 세션에 대한 귀하의 코멘트 추가는 필수 항목입니다.) Esta clase funciona realmente mal, creo que deferredo delcual del extra. 이 페이지는 다음에서 다운로드 할 수 있습니다 : 최종 최종 버전 : 최종 버전 : 최종 버전 : https://github.com/wseemann/FFmpegMediaMetadataRetriever. 나에게 비용을 지불하는 데는 비용이 많이 든다. Pruébala porque a mi me ha ha salvado ... 예. 나는 코끼리를 쳤다. !! –

+0

gracias 곤잘로 !! 이 라이브러리를 추가하려고합니다. – Xenione

답변

2

실제로 FFmpegMediaMetadataRetriever 클래스를 사용하고 있습니다. this external library에서 작동합니다.

+0

라이브러리가 너무 큽니다! 내 번들에서 컴파일 할 때 .. 내 APK 크기가 2 MB에서 16 MB로 뛰었습니다 ....이 문제를 해결할 방법이 있습니까? – boudi