C# InvalidDataException“;无法确定容器类型“;在Monogame中使用Song.FromUri加载mp3时

C# InvalidDataException“;无法确定容器类型“;在Monogame中使用Song.FromUri加载mp3时,c#,mp3,monogame,C#,Mp3,Monogame,我正在编写一个自动存储塔应用程序,并试图使用内置的MediaPlayer进行播放。尝试使用Song.FromUri创建播放歌曲时,我收到一个InvalidDataException“无法确定容器类型” Song s=Song.FromUri(@“D:\Temp.mp3”,新Uri(@“D:\Temp.mp3”) mp3有ID3V1和ID3V2标签,是VBR(平均198kbps),但我已经尝试了许多其他的没有区别。我消除了文件路径中的空格,并已尝试删除文件中的所有标记。我也尝试过使用各种选项。目前

我正在编写一个自动存储塔应用程序,并试图使用内置的MediaPlayer进行播放。尝试使用Song.FromUri创建播放歌曲时,我收到一个InvalidDataException“无法确定容器类型”

Song s=Song.FromUri(@“D:\Temp.mp3”,新Uri(@“D:\Temp.mp3”)

mp3有ID3V1和ID3V2标签,是VBR(平均198kbps),但我已经尝试了许多其他的没有区别。我消除了文件路径中的空格,并已尝试删除文件中的所有标记。我也尝试过使用各种选项。目前我正在Windows10上测试,但这也需要在Linux上运行

mp3将通过内容管道工具加载和播放,因此我认为文件本身没有任何问题


我没有主意了。为什么这不起作用?我应该使用不同的库吗?

我也有同样的问题,它似乎不适用于mp3文件。解决方案是下载ffmpeg并将所有文件转换为ogg格式,如下所示:

ffmpeg -i input.mp3 -c:a libvorbis -q:a 4 output.ogg

作为自动存储塔,该软件需要具有灵活的文件格式。不能播放MP3的自动存储塔不是很有用。我使用NAudio库来完成我想做的事情,但我把这个问题留给大家,因为在不使用第三方库的情况下,找出如何做到这一点仍然很有价值。