Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android VideoView在setRotation()之后不播放_Android_Android Layout_Android Videoview - Fatal编程技术网

Android VideoView在setRotation()之后不播放

Android VideoView在setRotation()之后不播放,android,android-layout,android-videoview,Android,Android Layout,Android Videoview,我发现在对VideoView调用setRotation()后,VideoView不再播放。Android运行时不会抛出任何错误,VideoView会正确确定其裁剪尺寸,但只显示为实心黑框 这是已知的限制吗?如果有,是否有其他方法来旋转视频视图?我使用的是API级别16 编辑:视频播放音频,但不播放视频。也许潜在的SurfaceView没有被重新定位?我自己回答说,如果它对以后的人有帮助,这是VideoView的一个已知限制。引自: 由于SurfaceView的内容不存在于应用程序的窗口中,因此无

我发现在对VideoView调用
setRotation()
后,VideoView不再播放。Android运行时不会抛出任何错误,VideoView会正确确定其裁剪尺寸,但只显示为实心黑框

这是已知的限制吗?如果有,是否有其他方法来旋转视频视图?我使用的是API级别16


编辑:视频播放音频,但不播放视频。也许潜在的SurfaceView没有被重新定位?

我自己回答说,如果它对以后的人有帮助,这是VideoView的一个已知限制。引自:

由于SurfaceView的内容不存在于应用程序的窗口中,因此无法有效地转换(移动、缩放、旋转)。这使得在ListView或ScrollView中使用SurfaceView变得困难。SurfaceView也无法与UI工具包的某些功能正常交互,例如淡入边缘或View.setAlpha()

我能找到的唯一解决方案是用新引入的VideoView替换VideoView,它仅在API级别14及以上可用。据我所知,兼容性库中目前没有此功能。有一个如何使用TextureView播放视频的示例,它非常简单,您所失去的只是视频视图为您包装MediaPlayer的便利性