2016-06-08 155 views
0

我越來越黑屏不是視頻內容請幫助我。如何在android中播放視頻時拍攝videoview的快照?

我的代碼:

private Bitmap takeScreenshot() { 
    relate.setDrawingCacheEnabled(true); 
    relate.buildDrawingCache(); 
    return relate.getDrawingCache(); 
} 

private void saveBitmap(Bitmap bitmap) { 
    // File imagePath = new File(Environment.getExternalStorageDirectory()  + "/screenshot.png"); 

    FileOutputStream fos; 
    // String path ="data/data/com.focusmedica.eyeactivity/files/Images" + filename; 

    try { 
     fos =new FileOutputStream(path); 
     bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); 
     fos.flush(); 
     fos.close(); 
     sentmail(path); 
    } catch (FileNotFoundException e) { 
     Log.e("GREC", e.getMessage(), e); 
    } catch (IOException e) { 
     Log.e("GREC", e.getMessage(), e); 
    } 
} 

我使用canvasvideoview繪製的東西。而我只得到黑屏。 my videoviewrelative layout之內。 感謝提前.....

+0

你使用的是surfaceview還是textureview? – GvSharma

+0

不,我沒有使用這兩個,其實我是新的android所以我不知道這件事情... @ gvsharma –

回答

1

android在這裏你可以得到快照或視頻幀的視圖。

您可以嘗試使用此代碼來獲取視頻視圖幀。

public static Bitmap createVideoThumbnail(Context context, Uri uri, int i) 
    { 
    MediaMetadataRetriever mediametadataretriever = new MediaMetadataRetriever(); 

try { 
    mediametadataretriever.setDataSource(context, uri); 
    Bitmap bitmap = mediametadataretriever.getFrameAtTime(-1L); 
    if(null != bitmap) 
    { 
     int j = getThumbnailSize(context, i); 
     return ThumbnailUtils.extractThumbnail(bitmap, j, j, 2); 
    } 
    return bitmap; 
} catch (Throwable t) { 
    // TODO log 
    return null; 
} finally { 
    try 
    { 
     mediametadataretriever.release(); 
    } 
    catch(RuntimeException e) { } 
} 

}

您可以根據您的需要使用此方法。

+0

感謝兄弟,這種方法幫助我很多.. @gvsharma –

+0

你可以使這個被接受 – GvSharma