1

我正在为 Android 2.2 构建一个应用程序,它将是一种“假”相机。我正在使用 SurfaceView 播放视频并向用户公开控件以拍照并在前后“相机”之间翻转。

我想为这两种动画添加与股票 android 所经历的一致的动画。也就是说,当用户拍摄照片时,框架会冻结,向右滑动,实时相机图像从左侧滑入。当用户在相机之间切换时,会出现一个 3d 翻转动画。

我遇到的问题是 SurfaceView。我已经阅读了许多帖子,指出无法从 SurfaceView 获取位图,因为它与操作系统和硬件相关联。

我也尝试过获取一帧视频并使用 ImageView,但似乎直到 API 级别 10 才支持 MediaMetadataRetriever。我看到一些帖子说它之前可用(回到级别 5),但我没有想法如何使用它,或者我是否应该使用它,因为它不受官方支持。

我最后的想法是覆盖 SurfaceView 的绘图,或者应用某种矩阵来影响输出,或者将像素数据导出到外部图像视图,尽管我不确定后面的选项是否可行。

谁能给我一些关于可以在这里做什么的指导?

4

1 回答 1

0

最后,我找不到任何有用的东西。

我结束了:

  • 隐藏 SurfaceView 并显示 ImageView
  • 将 ImageView 内容设置为(大致)在 SurfaceView 上显示的内容。这可能是最难的部分,因为您通常无法获取 SurfaceView 的内容。
  • 动画 ImageView
  • 在播放恢复之前隐藏 ImageView 并再次显示 SurfaceView。
于 2013-01-28T15:33:00.090 回答