相关疑难解决方法(0)

在VideoView中定位视频

所以我扩展了VideoView的onMeasure以扩展视频以适应全屏视图.

这是如何:

public void setVideoAspect(int w,int h){
    wVideo=w;
    hVideo=h;
    onMeasure(w, h);
}
 @Override
 protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
 {
     super.onMeasure(widthMeasureSpec, heightMeasureSpec);
     if(wVideo!=0 && hVideo!=0)
     setMeasuredDimension(wVideo,hVideo);
 }
Run Code Online (Sandbox Code Playgroud)

我使用屏幕的显示指标(宽度,高度)调用setVideoAspect().问题是这种方法会拉伸视频以适应屏幕内部.我希望能够保持纵横比.(我有4:3的视频和3:2的屏幕尺寸.)我使用下面的代码给视图保留比率测量值:

int height =  (int) (metrics.widthPixels*3/(float)4);
                        int width=  metrics.widthPixels;   
                        mVideoView.setVideoAspect(width,height);
Run Code Online (Sandbox Code Playgroud)

所以这可以完成这项工作,但是有一个问题:它给了我一个4:3的视频,屏幕的宽度和正确的比例,但它不会使视频居中.(它只是播放视频的底部而不是顶部和底部.)我有一个包含VideoView的相对布局,VideoView的重力设置为居中.

layout android android-videoview

52
推荐指数
4
解决办法
4万
查看次数

Android VideoView比例缩放

在Android的VideoView中,有没有办法实现与ImageView.ScaleType.CENTER_CROP相同的效果?

也就是说,我希望我的VideoView能够播放视频,使其在不失真的情况下填满整个屏幕.如果视频宽高比不完全适合屏幕,则应裁剪而不是扭曲.

以下解决方案将填满屏幕,但不保持视频的宽高比:https: //stackoverflow.com/a/6927300/1068656

此解决方案保持视频的宽高比,但不会填满整个屏幕(视频会缩放,直到较长的一侧到达屏幕边缘,从而在侧面引入条形图):https: //stackoverflow.com/a/4855315/1068656

video android android-layout android-videoview

15
推荐指数
2
解决办法
6606
查看次数

Android VideoView如何缩放为ImageView缩放类型fitXY?

我在RelativeLayout中放了一个ImageView和一个VideoView.可以缩放ImageView以填充整个布局scaleType="fitXY".但是,VideoView没有类似的缩放属性.顺便说一下,我按设置隐藏视频控件setMediaController(null),只显示视频内容.是否可以在不保持纵横比的情况下缩放VideoView?这是布局示例.

<RelativeLayout
    android:layout_width="280dp"
    android:layout_height="200dp">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/image"
        android:scaleType="fitXY" />

    <VideoView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/video"
        android:visibility="invisible"
        android:layout_centerInParent="true" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android scale android-videoview

13
推荐指数
1
解决办法
1万
查看次数

Android VideoView crop_center

我有一个 RelativeLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:foregroundGravity="center"
    android:gravity="center"
    android:orientation="horizontal" >

    <VideoView
        android:id="@+id/videoViewPanel"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center" 
        android:layout_centerInParent="true"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我需要的是显示视频全屏裁剪.如果我可以与ImageView进行比较,我需要将其显示为crop_center.

如何让VideoView不自动调整视频大小以适应中心,但裁剪中心?

android aspect-ratio android-videoview

9
推荐指数
2
解决办法
1万
查看次数