1

我正在玩 Xamarin Mobile api MediaPicker,它使用 MediaRecorder 和 monodroid 制作插件来录制视频。

Android 必须在 VideoView 中预览视频。出于隐私考虑,此限制也适用于 wp7 和 ios。

因此,我需要从我的自定义视图中获取 VideoView(或 wp7 中的 Rectangle),并在我的插件(或使用此 VideoView 初始化 MediaPicker)中将此 VideoView 设置为 setPreviewDisplay。

实现需要 UI 元素的便携式插件的最佳方法是什么?

在此先感谢您的帮助。

4

1 回答 1

1

实现需要 UI 元素的便携式插件的最佳方法是什么?

我想我的第一个问题是“你需要一个便携式插件吗?”

你在 ViewModel 层或更低层实际需要的接口是什么?

我的猜测是 ViewModel 将看到的跨平台界面可能只包含:

  • 一些控制命令(例如启动/停止)
  • 一些摘要信息 - 例如视频长度
  • 文件访问层 - 这可能与文件路径一样少?

如果是这种情况,那么我可能会在 UI 中的 Controls/Views/UIViews 中实现大部分逻辑,然后将相关命令和值绑定到那些 ViewModel 属性。

所以我根本不会亲自将它作为插件来实现!


我之前做过几个使用视频视图的应用程序 - 一个用于视频捕获(仅限 Android),一个用于条形码扫描。

我发现基本的可用样本效果很好。然而,一旦我开始尝试扩展它们,它们很快就会变得脆弱,它们很难工作,而且它们的开发非常令人沮丧!

我真诚地建议您以 UI 视图代码的形式开始您当前的开发。在你让它工作之后,你可能会找到一个很好的方法来将控件和界面拆分成一个插件——但我怀疑这不会是你大部分时间花费的地方。


例如,对于我的下一个 QR 码应用程序,我计划在https://github.com/Redth/ZxingSharp.Mobile中使用单独的 UI 控件- 在 ViewModel 级别,我希望可以只公开某种作用于解码的命令二维码字符串。

于 2012-10-22T17:17:59.700 回答