编程语言
首页 > 编程语言> > C#-使用CrossSimpleAudioPlayer播放声音-Xamarin表单

C#-使用CrossSimpleAudioPlayer播放声音-Xamarin表单

作者:互联网

最近,我一直在尝试在Xamarin Forms中使用CrossSimpleAudioPlayer播放.mp3文件,但我收到此消息

System.NullReferenceException: Object reference not set to an instance of an object.

我将“构建操作”属性更改为“嵌入式资源”,但是我的错误仍然存​​在,我在这里缺少什么吗?

这是我的参考https://blog.xamarin.com/adding-sound-xamarin-forms-app/?utm_medium=social&utm_campaign=blog&utm_source=linkedin&utm_content=simpleaudioplayer-nuget,这是我的代码:

public void Play() {
  var assembly = typeof(App).GetTypeInfo().Assembly;
  Stream audioStream = assembly.GetManifestResourceStream("softAlarm." + "softAlarm.mp3");
  var audio = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
  audio.Load(audioStream);

  audio.Play();
}

解决方法:

您的softAlarm.mp3文件在哪里?您需要输入由点名和项目名称作为前缀的完整路径.

因此,如果文件位于Resources文件夹下的项目SoftAlarm中,则应声明:GetManifestResourceStream(“ SoftAlarm.Resources.softAlarm.mp3”);

声音文件应位于您的共享项目中,并具有构建动作“嵌入式资源”.

我在这里为您创建了一个工作示例项目:https://github.com/jfversluis/CrossSimpleAudioPlayerSample

标签:xamarin,xamarin-forms,cross-platform,c
来源: https://codeday.me/bug/20191025/1925969.html