これは私が使用している関数です:
public Bitmap getVideoFrame(String FD, long time) {
    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    try {
        retriever.setDataSource(FD);
        return retriever.getFrameAtTime(time * 1000, MediaMetadataRetriever.OPTION_CLOSEST);
    } catch (IllegalArgumentException ex) {
        ex.printStackTrace();
    } catch (RuntimeException ex) {
        ex.printStackTrace();
    } finally {
        try {
            retriever.release();
        } catch (RuntimeException ex) {
        }
    }
    return null;
}
ここで、FDはビデオ時間のパスです= videoview.getCurrentPosition();
問題は、この関数が取得する必要のある正確なフレームを取得しないことです。長いビデオ(20分)では、短いビデオ(10〜20秒)よりも正確になります。足りないものはありますか?そうでない場合は、レトリバーの代わりに何を使用できますか?