C# UWP中处理MediaSource URI属性的自适应代码
我正在为UWP应用程序编写一些库。我的图书馆已设置:C# UWP中处理MediaSource URI属性的自适应代码,c#,xaml,uwp,C#,Xaml,Uwp,我正在为UWP应用程序编写一些库。我的图书馆已设置: 目标版本:16299 最低版本:14393 我有MediaPlayerElement,想查看视频URL。15063年引进了该地产 获取与媒体源关联的URI。 设备系列:Windows 10 Creators更新(推出v10.0.15063.0) API合同:Windows .Pusitual.UnvialPalopiSoupe(引入V4) 我想我可以用这样的东西: if (ApiInformation.IsPropertyPresent(
- 目标版本:16299
- 最低版本:14393
MediaPlayerElement
,想查看视频URL。15063年引进了该地产
获取与媒体源关联的URI。设备系列:Windows 10 Creators更新(推出v10.0.15063.0) API合同:Windows .Pusitual.UnvialPalopiSoupe(引入V4) 我想我可以用这样的东西:
if (ApiInformation.IsPropertyPresent(typeof(MediaSource).FullName, "Uri"))
{
return (element.MediaPlayer.Source as MediaPlaybackItem)?.Source?.Uri.AbsoluteUri;
}
它实际上是有效的,但我发现在将我的库包含到具有以下功能的应用程序中时存在问题:
- 目标和最小版本14393
try/catch
在这种情况下没有帮助
还有什么我能做的吗?你对此无能为力。唯一的解决方案是将应用程序的最低版本设置为15063,并要求目标设备将Windows 10版本更新为最低版本或更高版本。我自己在现有的应用程序中使用了
MediaPlayerElement
,并被迫将最低版本设置为15063
此外,您无法使用try catch捕获此类错误,请将访问URI属性的代码放入单独的方法中,然后从if语句中调用该方法。这应该可以避免缺少方法异常。这是因为.NET在每个方法的基础上动态解析方法调用的方式。在14393上,它永远不会使用新方法,因此不会出现异常。看起来唯一“安全”的方法是使用反射来获取
Uri
属性。太棒了!非常感谢。我实际上得到了一个异常,但在这种情况下,try/catch捕捉到了异常。