调整视频大小以适应ImageView

时间:2015-01-03 21:22:40

标签: android

我正在尝试在播放视频时复制Google的照片应用的演示方法。即,来自视频的帧首先呈现为Bitmap,然后在点击播放按钮时,视频重新调整为全屏并播放。

以下是我从视频中获取一个框架以显示为Bitmap

的方法
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
mImageView = (ImageView) v.findViewById(R.id.fragmentImageView);
retriever.setDataSource(videoPath);
mImageView.setImageBitmap(retriever.getFrameAtTime());

以下是我用来显示ImageView的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/fragmentImageView"
        android:adjustViewBounds="true"
        android:scaleType="centerInside"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="@color/black">
    </ImageView>

</RelativeLayout>

我也使用此布局显示用相机拍摄的照片。当它显示摄像机图片时,此布局看起来与照片应用程序相同:图像占据屏幕的整个宽度,顶部和底部都有黑条。

但是,当我使用此布局显示视频帧时,图像占据屏幕的整个高度,并且右侧有一个白色条。

如何缩放Bitmap返回的getFrameAtTime()以适应所需的布局,而不会扭曲?

我感谢任何建议或例子。谢谢!

0 个答案:

没有答案