2014-03-28 5 views
0

Android MediaPlayer를 사용하여 TextureView에서 비디오 파일을 재생하고 있습니다. onSurfaceTextureUpdated 콜백이 수행 된 시간을 계산하고 일부 장치에서는 비디오의 프레임 수보다 적 으면서 총 프레임 수에 도달하는 시간을 계산합니다. 왜 이런 일이 발생합니까? Surface Texture가 매 프레임마다 업데이트되지 않습니까? TextureView 또는 코덱 구현 문제 일 수 있습니까?MediaPlayer가 포함 된 Android TextureView가 모든 프레임에 대해 업데이트되지 않습니다.

+1

동영상의 프레임 속도는 얼마입니까? 재생이 프레임 뒤에 떨어지는 지 궁금합니다. 모든 프레임을 표시하지 않는 장치에서는 매번 같은 수의 프레임이 누락되는 것입니까? 어떤 기기입니까? – fadden

+0

코멘트 주셔서 감사합니다. 비디오의 프레임 속도는 30fps입니다. 매번 같은 수의 프레임이 누락되는 것은 아니지만 3 ~ 15 프레임 범위 내에 있습니다. 기기 중 하나는 Nexus 7 (2013)입니다. 프레임을 떨어 뜨릴 수 있습니까? – drgr

+0

프레임이 떨어지는 것 같습니다. 동영상을 시작하기 전에 동영상이 재생되기 바로 전에 손가락을 화면 주위로 드래그하십시오. N7 (2013)을 포함한 일부 장치에서는 전원 관리가 다양한 CPU/GPU/버스 클럭을 더 높게 유지합니다. – fadden

답변

0

이것은 메모리 문제입니다. TextureView에서 동영상을 재생하기 전에 다른 활동을 완료하고 불필요한 데이터를 삭제하려고 시도하십시오.

+0

설명이있는 몇 가지 예가 좋습니다. – Nilambar