我正在玩Xamarin Mobile api MediaPicker,它使用MediaRecorder和monodroid制作一个录制视频的插件。
Android必须在VideoView中预览视频。此限制也适用于wp7和ios以保护隐私。
所以,我需要从我的自定义视图中获取VideoView(或wp7中的Rectangle),并将setPreviewDisplay添加到我的插件中的此VideoView(或使用此VideoView的init MediaPicker)。
实现需要UI元素的便携式插件的最佳方法是什么?
提前感谢您的帮助。
答案 0 :(得分:1)
实现需要UI元素的便携式插件的最佳方法是什么?
我想我的第一个问题是“你需要一个可移植的插件吗?”
ViewModel层或更低层实际需要的界面是什么?
我的猜测是ViewModel将看到的跨平台接口可能只包含:
如果是这种情况,那么我可能会在UI中的Controls / Views / UIViews中实现大部分逻辑,然后将相关的命令和值绑定到那些ViewModel属性。
所以我不会亲自将其作为插件实现!
我以前做过几个使用视频观看的应用程序 - 一个用于视频捕获(仅限Android),一个用于条形码扫描。
我发现基本的可用样本效果很好。然而,一旦我开始尝试扩展它们,那么它们变得很脆弱,它们很难开始工作而且开发起来非常令人沮丧!
我真的建议您将当前的开发作为UI视图代码。在你使用它之后,你可能会找到一种很好的方法将控件和接口分成插件 - 但我怀疑这不会是你花费大部分时间的地方。
e.g。对于我的下一个二维码应用程序,我打算在https://github.com/Redth/ZxingSharp.Mobile中使用单独的UI控件 - 在ViewModel级别,我希望只是暴露某种对解码后的QR字符串起作用的命令。