Android MediaMetadataRetriever getFrameAtTime返回重复的帧
我正在尝试使用Android MediaMetadataRetriever getFrameAtTime返回重复的帧,android,kotlin,video,mediametadataretriever,Android,Kotlin,Video,Mediametadataretriever,我正在尝试使用MediaMetadataRetriever从视频文件中获取所有帧。下面的代码返回重复的帧,并且丢失了很多帧: //e.g. gifDrawale.numberOfFrames = 27 val FRAME_BYTES = gifDrawale.frameByteCount for (currentFrame in 0 until gifDrawale.numberOfFrames) { frameList.add(retriever.getFrameAtT
MediaMetadataRetriever
从视频文件中获取所有帧。下面的代码返回重复的帧,并且丢失了很多帧:
//e.g. gifDrawale.numberOfFrames = 27
val FRAME_BYTES = gifDrawale.frameByteCount
for (currentFrame in 0 until gifDrawale.numberOfFrames) {
frameList.add(retriever.getFrameAtTime((FRAME_BYTES * currentFrame * 1000).toLong(), MediaMetadataRetriever.OPTION_CLOSEST_SYNC)!!)
}
下面的代码工作正常,但它是必需的Android Pie
for (i: Int in 0 until gifDrawale.numberOfFrames) {
frameList.add(it.getFrameAtIndex(i)!!)
}