5

我已经添加Plugin.MediaManagerPlugin.MediaManager.Forms我的xamarin forms项目中以播放视频。

CrossMediaManager.Current.Init(this);

当我尝试添加上面的代码时,它显示错误(方法 Init() 没有重载;)

但是在使用下面的代码行运行项目时,在 android 上会出现异常。

CrossMediaManager.Current.Init();

System.NotImplementedException: '此程序集的可移植版本中未实现此功能。您应该从您的主应用程序项目中引用 NuGet 包,以便引用特定于平台的实现。

IOS 和 UWP 应用程序运行良好,只有 android 项目有这个问题。请帮我解决这个问题。

4

3 回答 3

4

System.NotImplementedException: '此程序集的可移植版本中未实现此功能。您应该从您的主应用程序项目中引用 NuGet 包,以便引用特定于平台的实现。

当Android目标版本较低时,经常会出现上述错误。这是一个类似的问题,您可以查看https://github.com/martijn00/XamarinMediaManager/issues/437

此外,在您的情况下 . 您应该确保视频 url 的格式是 xxx.mp4 。插件不支持这种格式的 url (player.vimeo.com/video/361089481)。

于 2019-10-02T07:41:44.133 回答
3

我已将编译版本更新为 10.0 并为我工作。

android项目参考net standard 2.0,所以init方法没有带参数。我查看了 android dll 的 plugin.mediamanager 包文件夹,它是 monoandroid10.0

在此处输入图像描述

在此处输入图像描述

于 2020-05-26T19:12:17.250 回答
2

在此插件的早期版本中,Android 的 init 是:

CrossMediaManager.Current.Init();

我刚刚更新了 nuget 中的所有包,包括 xamarin.forms,将 Target 框架更改为 API 29,并在 Android 中更改了

CrossMediaManager.Current.Init();

CrossMediaManager.Current.Init(this);

现在可以工作了。

  • Plugin.MediaManager v0.9.7
  • Plugin.MediaManager.Forms v0.9.7
  • Xamarin.Forms v4.5.0.495
于 2020-03-26T13:02:21.683 回答