Xamarin SimpleAudioPlayer问题..无法使其工作,Stream为空

时间:2019-06-08 03:09:18

标签: android xamarin stream nullreferenceexception

我在使用简单的应用程序时遇到问题,试图在Xamarin中将SimpleAudioPlayer插件与Visual Studio 2019一起使用,并创建一个Android应用程序。

Atream始终返回null。 文件meulanchinho.mp3放置在Friday.Android项目中,位于Assets文件夹中,并且Build Action设置为“ AndroidAsset”

周五的命名空间

{

[XamlCompilation(XamlCompilationOptions.Compile)]

public partial class PranchaLaranja : ContentPage

{

    public PranchaLaranja ()

    {
        bool xr = false;
        InitializeComponent ();

        var player = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
        player.Load(GetStreamFromFile("meulanchinho.mp3"));
        player.Play();
        xr = player.IsPlaying;
    }
    public Stream GetStreamFromFile(string filename)
    {
        var assembly = typeof(App).GetTypeInfo().Assembly;
        var xAppName = typeof(App).GetTypeInfo().Name;
        Stream stream = assembly.GetManifestResourceStream(xAppName + filename);
        return stream;
    }
}
}

当流返回null时,player.play返回错误:

未处理的异常:

System.NullReferenceException:对象引用未设置为对象的实例。

1 个答案:

答案 0 :(得分:0)

经过一些挖掘和测试,我做到了。安卓项目Assets文件夹中的mp3文件“不应”。它必须在解决方案上。带有构建选项“嵌入资源”。

希望它对其他人有帮助。

感谢您的时间,如果有人可以解释一下“为什么”(由于许多网络搜索,它总是建议我将文件放在资产文件夹中)。