jjzjj

Android VideoView 不播放纵向

coder 2023-11-20 原文

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

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

我尝试了什么:

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

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)。

关于Android VideoView 不播放纵向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13116538/

有关Android VideoView 不播放纵向的更多相关文章

  1. ruby - 如何以编程方式将 mp3 转换为 itunes 可播放的 aac/m4a 文件? - 2

    我一直在寻找一种以编程方式或通过命令行将mp3转换为aac的方法,但没有成功。理想情况下,我有一段代码可以从我的Rails应用程序中调用,将mp3转换为aac。我安装了ffmpeg和libfaac,并能够使用以下命令创建aac文件:ffmpeg-itest.mp3-acodeclibfaac-ab163840dest.aac当我将输出文件的名称更改为dest.m4a时,它无法在iTunes中播放。谢谢! 最佳答案 FFmpeg提供AAC编码功能(如果您已编译它们)。如果您使用的是Windows,则可以从here获取完整的二进制文件。

  2. ruby - 如何播放 mp3 文件? - 2

    我如何用ruby​​编写一个脚本,当从命令行执行时播放mp3文件(背景音乐)?我试过了run="mplayer#{"/Users/bhushan/resume/m.mp3"}-aosdl-vox11-framedrop-cache16384-cache-min20/100"system(run)但它也不起作用,以上是播放器特定的。如果用户没有安装mplayer怎么办。有没有更好的办法? 最佳答案 我一般都是这样pid=fork{exec'mpg123','-q',file} 关于ruby

  3. ruby 声音播放 - 2

    这是2009年,早在2001年左右,ruby中的声音播放就没有好的绑定(bind)。有变化吗?我正在寻找可以控制原始声音或mp3、ogg和flac播放的东西。我的谷歌搜索已经枯竭。编辑:Linux、OSX,如果可能的话还有Windows。 最佳答案 您没有提到平台。Thispage描述了win32-sound库,它似乎至少支持WAV播放。对于一个更加平台中立的方式,Ruby/SDL为广受欢迎的SDL提供绑定(bind)图书馆。 关于ruby声音播放,我们在StackOverflow上找到

  4. 《安富莱嵌入式周报》第301期:ThreadX老大离开微软推出PX5 RTOS第5代系统,支持回流焊的自焊接PCB板设计,单色屏实现多级灰度播放视频效果 - 2

    往期周报汇总地址:嵌入式周报-uCOS&uCGUI&emWin&embOS&TouchGFX&ThreadX-硬汉嵌入式论坛-PoweredbyDiscuz! 祝大家开工大吉视频版:https://www.bilibili.com/video/BV1GT411o7zr1、ThreadX老大离开微软,开发的第5代RTOS系统PX5RTOS正式上线最早是看到IAR的一条消息,全面支持PX5RTOS,然后就进一步上他们的官方下载白皮书了解相关消息当看到这两个名字时,很熟悉,这不就是ThreadX的老大BillLamie。 经过信息检索,应该是实锤了,领英上已经更新了他的工作经历: 然后再结合Azur

  5. javascript - 在 MediaSource HTML5 中播放 MediaRecorder block ——视频卡住 - 2

    我有这个简单的代码来获取视频流block并在MediaSource中播放它们。我看到视频,但有时它会停止。它可能会工作几秒钟或几分钟。但最后它在某个时刻停止了。chrome://media-internals/显示没有错误。这里有什么问题吗?navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;varmediaSource=newMediaSource();varconstraints

  6. javascript - 使用 js/jquery 检测 flash 播放器的现代或非弃用方法? - 2

    首先,很抱歉在这里重新提出这个问题。我已经尝试了两天如何使用javascript/jquery完成这项工作,我想我已经阅读了所有堆栈溢出和其他关于此的博客文章,所以请不要将其标记为重复,因为我无法使用2012年到2017年的过时脚本。我有一个页面重定向到第三方电子学习平台,其中一些内容需要flash才能工作。许多用户不关心他们的机器上安装了哪些软件(多么新,呵呵)所以我需要检测它并显示典型消息“请单击此处安装/更新FlashPlayer”,但我找不到“现代"执行此操作的脚本/方式,在任何地方,尽可能简化。我尝试过的所有脚本都已弃用或在所有浏览器中返回false,即使我安装并激活了最新版

  7. javascript - 声音播放/停止/暂停 - 2

    我正在开发一个可靠的JavaScript库。我可以用下面的代码播放声音。varsoundPlayer=null;functionplaySound(){soundPlayer=newAudio(soundName).play();}如何停止和暂停此音频?当我这样尝试时:soundPlayer.pause();或者soundPlayer.stop();但是我得到这个错误:UncaughtTypeError:soundPlayer.stopisnotafunction我该怎么做? 最佳答案 如果你改变它:soundPlayer=newA

  8. javascript - 在 SO 聊天中播放提示音 - 2

    我正在尝试使用Chrome扩展程序在SO聊天中播放通知提示音(或提及提示音),但我无法正确播放(如果可能的话)。我尝试了以下代码:this.notify=function(){$("#jplayer").jPlayer('play',0);}但是我得到以下错误:UncaughtTypeError:Object[objectObject]hasnomethod'jPlayer'有没有办法使用SO聊天声音“模块”/播放器来播放@mention提示音?更新我知道我可以设置自己的“音频播放器”,但我想使用SO上聊天中使用的音频播放器,并且我想使用通知提示音。我已经在GitHubgist中上传了

  9. javascript - 视频播放完成后如何显示灯箱? - 2

    我有一个youtube视频。我想在停止播放时显示一个灯箱。我需要使用javascript/jQuery或PHP来完成此操作。Ajax也很好。我寻找了一种解决方案,但没有找到有效的解决方案。 最佳答案 如果你可以使用youtubeapi,那么像这样的东西应该可以工作:$(document).ready(function(){varplayer;functiononYouTubePlayerAPIReady(){player=newYT.Player('player',{height:'390',width:'640',videoId:

  10. javascript - 我可以使用 jquery 确定设备是纵向模式还是横向模式吗? - 2

    我想根据用于查看网站的设备是纵向/垂直还是横向/水平模式/方向,有条件地更改用户在我要创建的照片库网站上看到的内容。这可能吗? 最佳答案 尝试使用orientationchange事件处理程序,如下所示:$(window).bind("orientationchange",function(evt){alert(evt.orientation);});这是jQueryMobileentry检测并触发orientationchange事件。 关于javascript-我可以使用jquery

随机推荐