Android VideoView 不播放纵向方向

2024-02-19

该平台:使用 Android SDK 16 在 Eclipse 中进行开发。

问题:我有一个 VideoView 元素,它应该以 480x800(纵向)填充整个屏幕,并且播放正常,但不会定向为纵向。它坚持横向模式,并且纵横比倾斜以适应这种方式。

我已经尝试过:

  • 在清单中使用 android:screenOrientation="portrait"
  • 在容器和 VideoView 本身中使用 android:orientation="vertical"
  • 使用 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);就在我调用 setContentView 之前
  • 尝试将布局宽度和高度设置为 480dpx800dp 而不是 fill_parent
  • 尝试将 VideoView 宽度和高度设置为 480px x 800dp 而不是 fill_parent
  • 关闭自动旋转显示

THE XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="480dp"
    android:layout_height="800dp"
    android:background="#000000" 
    android:orientation="vertical" > 

    <VideoView
        android:id="@+id/opening_video"
        android:layout_width="480dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentLeft="true" 
        android:layout_alignParentTop="true" 
        android:layout_alignParentBottom="true" 
        android:layout_height="800dp"
        android:orientation="vertical" /> 

    <ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/transparent_button"
        android:contentDescription="@string/back_button_desc"
        android:background="@android:color/transparent" />

</RelativeLayout>

代码:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        setContentView(R.layout.activity_start_screen);

        VideoView videoView = (VideoView) findViewById(R.id.opening_video);  

        Uri pathToVideo = Uri.parse("android.resource://com.example.consumerengage/" + R.raw.opening_tablet);  
        videoView.setVideoURI(pathToVideo);  
        videoView.setOnPreparedListener(new OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.setLooping(true);
            }
        });        

        videoView.requestFocus();  
        videoView.start(); 

       // boolean isPlaying = videoView.isPlaying() ; 

       // videoView.stopPlayback();  
       // videoView.clearFocus(); 

       addListenerOnButton();

    }

问题:我所做的一切尝试都没有成功。如何让 480x800 视频以纵向播放?


您确定您的视频是 480x800 而不是 800x480 吗? 800x480 是标准分辨率,如果您用手机纵向录制视频,输出仍为 800x480,要正常播放,视频应旋转 90 度。您所描述的是如果您尝试在 480x800 videoView 中播放 800x480 视频会发生什么情况。如果是这种情况,您可以使用 Windows Live Moviemaker 或 iMovie(如果您使用的是 Mac)等视频编辑软件来旋转它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android VideoView 不播放纵向方向 的相关文章

随机推荐