MvvmCross vnext:monodroid在插件中使用VideoView

时间:2012-10-22 16:57:15

标签: windows-phone-7 xamarin.ios xamarin.android mvvmcross xamarin.mobile

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

Android必须在VideoView中预览视频。此限制也适用于wp7和ios以保护隐私。

所以,我需要从我的自定义视图中获取VideoView(或wp7中的Rectangle),并将setPreviewDisplay添加到我的插件中的此VideoView(或使用此VideoView的init MediaPicker)。

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

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

  

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

我想我的第一个问题是“你需要一个可移植的插件吗?”

ViewModel层或更低层实际需要的界面是什么?

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

  • 一些控制命令(诸如开始/停止之类的东西)
  • 一些摘要信息 - 例如视频长度
  • 文件访问层 - 这可能与文件路径一样少?

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

所以我不会亲自将其作为插件实现!


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

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

我真的建议您将当前的开发作为UI视图代码。在你使用它之后,你可能会找到一种很好的方法将控件和接口分成插件 - 但我怀疑这不会是你花费大部分时间的地方。


e.g。对于我的下一个二维码应用程序,我打算在https://github.com/Redth/ZxingSharp.Mobile中使用单独的UI控件 - 在ViewModel级别,我希望只是暴露某种对解码后的QR字符串起作用的命令。