每当更改设备方向时,SurfaceView都会重启视频

时间:2014-05-29 09:48:26

标签: android video surfaceview

我正在Android中使用SurfaceView播放视频。

每当我旋转设备并且屏幕改变它的方向时,视频就会从头开始播放。

我想在屏幕旋转时恢复视频。

请指导我。

3 个答案:

答案 0 :(得分:1)

将其添加到Manifest.xml文件中。

android:configChanges="orientation"

你可以用它来相应地设置高度和宽度等

@Override
public void onConfigurationChanged(Configuration newConfig) {
   if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        //Todo      
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        // Todo
    }
}
  

警告:从Android 3.2(API级别13)开始,"屏幕大小"   当设备在纵向和横向之间切换时也会发生变化   取向。因此,如果您希望阻止运行时重新启动   开发API级别13或更高级别时的方向更改(如   由minSdkVersion和targetSdkVersion属性声明),你   必须包括" screenSize"价值以及"方向"   值。也就是说,你必须decalare   机器人:configChanges ="取向|屏幕尺寸&#34 ;.但是,如果你的   应用程序目标API级别12或更低,然后您的活动始终   处理此配置更改本身(此配置更改   即使在Android 3.2或Android上运行,也不会重新启动您的活动   更高的设备)。

(复制自:nmr

答案 1 :(得分:0)

在manifest.xml中为您的活动设置configChanges属性,如下所示:     机器人:configChanges = “取向| keyboardHidden”

答案 2 :(得分:0)

对于播放视频等任务,您应该考虑使用TextureView