请注意:您可能需要将扩展名更改为.mp3。见here。虽然我没有这个问题。
一旦你这样做,你应该能够通过使用资产管理人获得的资产。你可以加载它们或者对它们做任何事情。以下是将它们读入内存并写出名称的示例。 const String pluginPath = "Plugins";
var pluginAssets = Assets.List(pluginPath);
foreach (var pluginAsset in pluginAssets)
{
var file = Assets.Open(pluginPath + Java.IO.File.Separator + pluginAsset);
using (var memStream = new MemoryStream())
{
file.CopyTo(memStream);
//do something fun.
var assembly = System.Reflection.Assembly.Load(memStream.ToArray());
Console.WriteLine(String.Format("Loaded: {0}", assembly.FullName));
}
}
在发布模式中,请注意,Android版Mono将对您的库执行静态分析以执行大小优化。如果在此之后加载程序集,则可能没有应包含的功能。以下屏幕截图显示了发布版本的标准链接配置。有一些标志和配置可以添加到代码中,以帮助防止链接(Xamarin Docs on Linking),但我不确定可以为动态加载的库执行的操作太多。