Android:旋转后视频视图不播放
Posted
技术标签:
【中文标题】Android:旋转后视频视图不播放【英文标题】:Android: Videoview does not play after rotate 【发布时间】:2014-06-13 07:33:52 【问题描述】:我有一个活动,显示屏幕的一半面向用户,另一半面向相反方向的另一个人。面向另一个人的部分有视频视图。 像这样:
在我的活动布局中,我有:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_
android:layout_
android:orientation="vertical" >
<ScrollView
android:id="@+id/scrollViewTop"
android:layout_
android:layout_
android:layout_margin="10dp"
android:layout_weight="1"
android:scrollbars="none"
android:rotation="180.0" >
......
<VideoView
android:id="@+id/videoView1"
android:layout_
android:layout_ />
......
</ScrollView>
<LinearLayout
android:layout_
android:layout_
android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
我使用以下代码设置视频视图:(videofile.mp4)
videoView1 = (VideoView) findViewById(R.id.videoView1);
Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.videofile);
videoView1.setVideoURI(video);
videoView1.start();
它在没有播放视频的情况下显示黑屏。除视频播放外,其他内容在 180 度旋转中正常显示。
但是,如果我删除 android:rotation="180.0" 行,视频将正常播放。
有没有办法在屏幕旋转时播放视频?
【问题讨论】:
如果我正确识别您的问题,那么您希望在最终用户旋转屏幕时播放视频,对吗?如果是这样,那么您需要为此应用传感器管理器。为什么你把旋转放在滚动视图中? 因为两个人(站在对面)同时看着屏幕。例如。一位顾客和一位收货员。 【参考方案1】:没有找到合适的解决方案。 我改用walk-around。
首先对父旋转中的视频视图应用旋转。
<VideoView
android:id="@+id/videoView1"
android:layout_
android:layout_
android:rotation="180.0" />
这将导致布局变为:
然后我们输出视频源(videofile.mp4)进行180度播放。使用 1 + 2,“好像”视频在另一个方向播放。
【讨论】:
你是怎么输出视频源180度播放的?以上是关于Android:旋转后视频视图不播放的主要内容,如果未能解决你的问题,请参考以下文章
Android 设定横屏,禁止屏幕旋转,Activity重置 [更新视频播放器相关]
如何强制 iframe 视频在 Android 设备上旋转到横向模式?
旋转屏幕或隐藏播放器时 Android YouTube API 视频暂停