【问题标题】:Handling two surfaceViews处理两个表面视图
【发布时间】:2010-12-23 19:03:43
【问题描述】:

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

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

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

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

他们有什么方法可以定义 Surface View 的 Z 顺序吗?

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

请建议。谢谢!!

【问题讨论】:

  • 您是如何实现这一目标的?始终共享代码,以便我们尝试找出问题所在。

标签: android surfaceview


【解决方案1】:

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

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

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

【讨论】:

  • 嗨 Commonsware,我可以在单个 SurfaceView 中同时显示 MediaRecorder Preview 和 MediaPlayer 视图吗?请建议。谢谢。
  • @Deva:这是不可能的,AFAIK。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多