【问题标题】:Xamarin Forms: how to implement platform specific codeXamarin Forms:如何实现特定于平台的代码
【发布时间】:2015-03-05 21:09:46
【问题描述】:

我确实有一个 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/ 是我能找到的最接近的,但它似乎高度关注渲染器。

我想我会做的是在共享项目中定义一个抽象类(一些简单的类,只是带有 void play 方法),并使用它,并在每个平台项目。这个怎么办?

【问题讨论】:

标签: c# audio xamarin cross-platform xamarin.forms


【解决方案1】:

看起来像 Write device platform specific code in Xamarin.Forms 回答了这个问题 - 这与其说是一个 Xamarin Forms 问题,不如说是一个 Visual Studio 共享项目问题,可以通过创建一个接口/抽象类然后为每个平台实现它并注入实现来解决。

【讨论】:

    猜你喜欢
    • 2021-03-08
    • 2020-06-22
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多