繁体   English   中英

Xamarin Forms:如何实现平台特定的代码

[英]Xamarin Forms: how to implement platform specific code

我确实有一个Xamarin Forms项目,我希望将Android,iOS和WinPhone作为目标。 (现在我只看Android。)

我在播放音频时遇到麻烦,并认为我需要在每个设备上以不同的方式实现它。

我首先在共享项目的app.cs中添加此代码

#if __ANDROID__
    MediaPlayer _player;
    _player = MediaPlayer.Create(this, Resources.Raw.bear); // "Resources.Raw.bear");
    _player.Start();
#endif

但是发现我不能真正引用bear.wav,所以我认为我必须为每个项目/平台添加bear.wav并分别处理播放代码。 (另请参见http://developer.xamarin.com/recipes/android/media/audio/play_audio/

不幸的是,我找不到有关如何执行此操作的样本-或任何文档。

http://developer.xamarin.com/guides/cross-platform/xamarin-forms/custom-renderer/是我能找到的最接近的,但它似乎高度专注于渲染器。

我以为我会做的是在共享项目中定义一个抽象类(一些简单的类,只是带有空播放方法),并使用它,并在每个平台项目中都有特定的实现。 怎么办呢?

它看起来像在Xamarin中编写设备平台特定的代码。Forms回答了这个问题-与其说是Xamarin Forms问题,还不如说是Visual Studio共享项目问题,可以通过创建interface / abstract类,然后为每个平台实现该类来解决并注入实施。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM