SaluteWarmTinct 2016-08-18 04:09 采纳率: 100%
浏览 2703
已采纳

Android录制视频时切换横屏后为什么还是竖屏效果?

上图:
这是竖屏效果:
图片说明
这是横屏效果:
图片说明
为什么没有切换过来呢?代码如下:
这是XML文件路径横屏效果和竖屏效果的:
图片说明
代码中在onConfigurationChanged里进行了切换:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);

    if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        setContentView(R.layout.activity_transcribe_video); //布局
        initView();
    }

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
        setContentView(R.layout.activity_transcribe_video); //布局
        initView();
    }
}
    这是布局文件的代码:
    <?xml version="1.0" encoding="utf-8"?>

android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#fff">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/ll_video_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <VideoView
            android:id="@+id/mVideoView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentTop="true"/>
    </RelativeLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:background="#99000000">

        <ImageView
            android:id="@+id/iv_video_back"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:padding="13dp"
            android:src="@mipmap/img_video_up_back"
            android:layout_marginLeft="20dp"/>
        <RelativeLayout
            android:id="@+id/rl_video_top_menu"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center_vertical">
            <ImageView
                android:id="@+id/switch_btn"
                android:layout_width="25dp"
                android:layout_height="25dp"
                android:src="@mipmap/img_video_up_switch"
                android:layout_marginLeft="30dp"/>
            <ImageView
                android:id="@+id/iv_video_shanguang"
                android:layout_width="25dp"
                android:layout_height="25dp"
                android:src="@mipmap/img_video_up_sg"
                android:layout_toRightOf="@+id/switch_btn"
                android:layout_marginLeft="30dp"/>
            <ImageView
                android:id="@+id/iv_video_time_start"
                android:layout_width="25dp"
                android:layout_height="25dp"
                android:src="@mipmap/img_video_up_time"
                android:layout_toRightOf="@+id/iv_video_shanguang"
                android:layout_marginLeft="30dp"/>
        </RelativeLayout>
        <TextView
            android:id="@+id/tv_time_start"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="00:00"
            android:gravity="center"
            android:textSize="30sp"
            android:textColor="#ffffff"
            android:visibility="gone"/>
    </LinearLayout>

    <ProgressBar
        android:id="@+id/pb_video_up"
        android:layout_width="match_parent"
        android:layout_height="3dp"
        android:layout_above="@+id/rl_video_below_menu"
        style="?android:attr/progressBarStyleHorizontal"
        android:progressDrawable="@drawable/video_up_pro_shape"/>
    <RelativeLayout
        android:id="@+id/rl_video_below_menu"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:background="#99000000"
        android:gravity="center"
        android:layout_alignParentBottom="true">
        <ImageView
            android:id="@+id/recorder_again"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:src="@mipmap/img_video_up_retake"
            android:layout_marginTop="12dp"
            android:visibility="invisible"/>
        <RelativeLayout
            android:id="@+id/rl_l"
            android:layout_width="86dp"
            android:layout_marginLeft="100dp"
            android:background="@mipmap/video_yuan"
            android:layout_height="86dp">
            <ImageView
                android:id="@+id/recorder_start"
                android:layout_width="73dp"
                android:layout_height="73dp"
                android:src="@mipmap/video_red_circle"
                android:layout_centerInParent="true"
                android:visibility="visible"/>
            <ImageView
                android:id="@+id/recorder_stop"
                android:layout_width="45dp"
                android:layout_centerInParent="true"
                android:layout_height="45dp"
                android:src="@mipmap/video_red_rect"
                android:visibility="invisible"/>
        </RelativeLayout>
        <ImageView
            android:id="@+id/btn_loaction_vedio"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:src="@mipmap/img_video_up_location"
            android:layout_toRightOf="@+id/rl_l"
            android:layout_marginLeft="50dp"
            android:layout_marginTop="12dp"/>
        <ImageView
            android:id="@+id/recorder_next"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:src="@mipmap/img_video_up_next"
            android:layout_toRightOf="@+id/rl_l"
            android:layout_marginLeft="50dp"
            android:layout_marginTop="12dp"
            android:visibility="invisible"/>
    </RelativeLayout>
</RelativeLayout>

<ImageView
    android:id="@+id/iv_video_time_start_img"
    android:layout_width="115dp"
    android:layout_height="115dp"
    android:layout_gravity="center"
    android:scaleType="fitXY"
    android:visibility="gone"
    android:src="@mipmap/img_video_time_03"
    android:layout_marginBottom="67dp"/>


这是清单文件的:
android:name="com.xxxxxx.xxxxx.TranscribeVideoActivity"
android:configChanges="orientation|keyboardHidden"
android:exported="true"/>
问题出在哪呢?是需要设置什么属性吗?

  • 写回答

1条回答 默认 最新

  • SaluteWarmTinct 2016-08-18 08:55
    关注

    已自解,录制时Carmer默认横屏录制,代码中有setDisplayOrientation去调整角度,切换横屏后setDisplayOrientation又重新走了一遍就从横屏变竖屏了。
    判断当前横竖屏状态,横屏时setDisplayOrientation不要走就好。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 微信小程序 成功包奶茶啊
  • ¥15 计算机博弈的六子棋代码
  • ¥15 在Fetch API中传送的参数为何不起作用?
  • ¥15 问题遇到的现象和发生背景 360导航页面千次ip是20元,但是我们是刷量的 超过100ip就不算量了,假量超过100就不算了 这是什么逻辑呢 有没有人能懂的 1000元红包感谢费
  • ¥30 计算机硬件实验报告寻代
  • ¥15 51单片机写代码,要求是图片上的要求,请大家积极参与,设计一个时钟,时间从12:00开始计时,液晶屏第一行显示time,第二行显示时间
  • ¥15 用C语言判断命题逻辑关系
  • ¥15 原子操作+O3编译,程序挂住
  • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
  • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?