android studio中的纵向到横向视频视图和控制器重启问题
Posted
技术标签:
【中文标题】android studio中的纵向到横向视频视图和控制器重启问题【英文标题】:portrait to landscape Video viewand controller restart problam in android studio 【发布时间】:2019-02-17 11:07:41 【问题描述】:我有一个videoView
,我通过MediaController
控制它
它工作得很好,但是当用户改变手机位置时,纵向旋转到横向模式或(倒置横向到纵向)
它将在第一个视频中重新开始
为了了解更多,我拍了一段视频,请观看 看这个视频https://www.youtube.com/watch?v=AtlzTqtc7zg&feature=youtu.be
我的 xml 布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:orientation="vertical"
android:layout_
tools:context=".MainActivity">
<VideoView
android:id="@+id/videoView"
android:layout_
android:layout_
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp" />
</LinearLayout>
我的 MainActivity.class
package sirwansoft.safir.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class MainActivity extends AppCompatActivity
VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
videoView = findViewById(R.id.videoView);
videoView.setVideoPath("android.resource://" + getPackageName() + "/" + R.raw.video);
//control media
MediaController mediaController = new MediaController(this);
//set view with controller
videoView.setMediaController(mediaController);
//set Controller to view
mediaController.setAnchorView(videoView);
videoView.start();
【问题讨论】:
旋转时,调用恢复,重新开始。或者您禁止这种情况发生,或者您知道实时播放位置(以 h:m:s 为单位),并且当调用 onresume 时,您跳转到最后记录的位置。 【参考方案1】:将此代码添加到您的 AndroidManifest 文件中:
<activity
android:name="YOUR_ACTIVITY_NAME"
android:configChanges="screenSize|orientation|keyboardHidden"
/>
【讨论】:
以上是关于android studio中的纵向到横向视频视图和控制器重启问题的主要内容,如果未能解决你的问题,请参考以下文章
尽管以纵向视图录制,但使用 mediaRecorder 和表面视图录制的 Android 视频无法在横向视图中播放
Android TV 中的 ExoPlayer 以纵向模式而不是横向模式播放视频
在 iPhone 中将视图从纵向切换到横向,就像 iPhone 中的计算器一样