我通过Monogame(C#)为Android创建了一个应用程序。为了减小我的.apk大小,我决定不要使用Content Pipeline进行音频播放。我发现可以将原始mp3与Song.FromUri()方法一起使用。使用下一个代码
Song mySong;
//...
mySong = Song.FromUri("track01", new System.Uri("audio.mp3", System.UriKind.Relative));
//...
MediaPlayer.Play(mySong);
我收到了异常“未处理的异常:Java.IO.FileNotFoundException:track01”
MediaPlayer.Play(mySong);
,但主文件夹中有文件“audio.mp3”。
Solution Screenshot
将属性“构建操作”更改为“无” /“内容” /“AndroidAsset”,将“复制到输出目录”更改为“始终复制”并没有带来任何新变化。
我搜索了解决方案,但似乎没有人遇到相同的问题,或者他们很容易解决了问题。我遇到的唯一类似问题here,但是他们的解决方案没有帮助。
您有什么可以帮助我的想法吗?谢谢。
最佳答案
我不确定Song.FromUri方法,但这就是我使用声音文件的方式。
var player = new MediaPlayer();
var fd = global::Android.App.Application.Context.Assets.OpenFd("sounds/Wrong.mp3");
player.Prepared += (s, e) =>
{
player.Start();
};
player.SetDataSource(fd.FileDescriptor, fd.StartOffset, fd.Length);
player.Prepare();
我将Wrong.mp3保留在Assets / sounds文件夹中
关于c# - Xamarin。加载mp3以通过MediaPlayer播放时遇到问题:FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45415941/