是否可以在一个.net可移植类库中使用MediaElement类,该类库既定位Windows 8,也定位Windows Phone 8

我正在将Windows Phone项目移植到面向Windows 8和Windows Phone 8的可移植类库。我遇到的问题之一是XNA库似乎不适用于Windows 8。

我正在考虑使用MediaElement类,因为它似乎在Windows Phone 8和Windows 8中都可用。但是,它们分别位于相应平台上的两个不同名称空间中,因此MediaElement似乎无法在此便携式类库中访问。

它看起来像所有的xaml控制类在这两个平台不同的命名空间。

我错了吗? 如果没有,有没有其他的解决方法,有一个可以播放audio的便携式类库? 更一般地说,图书馆是否可以使用常用的xaml控件类(例如BitmapImage等)?

在便携式类库中,只能访问两个平台通用的.net框架的一小部分。 像传感器,GPS或面向XAML的MediaElement等特定WinRT API不可用。 你可以做的一件事是在你的可移植类库中的接口中使用MediaElement来分离代码,并在每个项目中用一个类来实现接口。 稍后,您可以使用依赖注入或其他方法在需要时注入项目的类。