【发布时间】:2014-05-29 09:48:25
【问题描述】:
我在 Android 中使用 SurfaceView 播放视频。
每当我旋转设备并且屏幕改变方向时,视频就会从头开始播放。
我希望在屏幕旋转时恢复视频。
请指导我。
【问题讨论】:
标签: android video surfaceview
我在 Android 中使用 SurfaceView 播放视频。
每当我旋转设备并且屏幕改变方向时,视频就会从头开始播放。
我希望在屏幕旋转时恢复视频。
请指导我。
【问题讨论】:
标签: android video surfaceview
将此添加到您的 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 android:configChanges="orientation|screenSize"。但是,如果您的 应用程序以 API 级别 12 或更低级别为目标,那么您的活动始终 自行处理此配置更改(此配置更改 不会重新启动您的活动,即使在 Android 3.2 或 更高的设备)。
(复制自:nmr)
【讨论】:
在 manifest.xml 中为您的活动设置 configChanges 属性,如下所示: android:configChanges="orientation|keyboardHidden"
【讨论】:
对于播放视频等任务,您应该考虑使用TextureView
【讨论】: