【发布时间】: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 方法),并使用它,并在每个平台项目。这个怎么办?
【问题讨论】:
-
据我所知,您的资源必须添加到每个平台。您不能将它们添加到共享项目/pcl 并共享它们。
标签: c# audio xamarin cross-platform xamarin.forms