3

我有两个表面视图 1> MediaRecorder 显示表面视图。2> MediaPlayer SurfaceView 显示由 MediaRecorder 录制的媒体。

我想在 z 排序的屏幕上同时显示两个视图。

mediaPlayer 将全屏播放,MediaRecorderPreview shd 出现在右上角,尺寸较小。

我可以使用两个表面来做到这一点,但问题是 MediaRecorder 预览总是转到背景 z 顺序并被媒体播放器全屏显示隐藏。

他们是否有任何方式来定义 Surface View 的 Z 顺序。

或者他们是否可以做其他任何事情来完成这项工作。我可以在一个界面中同时启动 MediaRecorder 和 MediaPlayer 吗?

请建议。谢谢!!

4

2 回答 2

3

我想在 z 排序的屏幕上同时显示两个视图。

AFAIK,Android 不支持。Android 无法合成多个SurfaceViews. 它可以在 a之上处理常规View(例如) ,但不能处理两个Z 排序。ButtonSurfaceViewSurfaceViews

我建议重新设计您的应用程序,使其一次SurfaceView只有一个。

于 2010-12-23T19:14:22.237 回答
2

从 Android 2(API 级别 5)开始,支持具有 2 个表面视图。您可以使用 setZOrderMediaOverlay 设置 2 个表面视图的zOrder ,尽管它显然破坏了SurfaceView 的预期语义

于 2013-08-08T18:27:45.297 回答