gpt4 book ai didi

android - 如何在 android 中播放视频时拍摄 videoview 的快照?

转载 作者:行者123 更新时间:2023-11-29 19:46:00 25 4
gpt4 key购买 nike

我的黑屏不是视频内容,请帮助我。

我的代码:

 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 上绘制一些东西。只有我得到黑屏。 我的 videoviewrelative layout 里面。 提前致谢......

最佳答案

来自android在这里您可以获得视频 View 的快照或帧。

您可以尝试使用此代码来获取视频 View 帧。

    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) { }
}
}

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

关于android - 如何在 android 中播放视频时拍摄 videoview 的快照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37696321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com