【问题标题】:Playing mp3s in C# not using MediaPlayer or XACT不使用 MediaPlayer 或 XACT 在 C# 中播放 mp3
【发布时间】:2012-04-06 15:35:38
【问题描述】:

我正在尝试为我的 XNA 游戏添加背景音乐,但 XNA 中的选项都要求将音频文件转换为 .wav 并作为项目资源包含在内。这对我不起作用有两个原因。首先,.wav 文件非常庞大,对用户没有真正的好处。其次,如果用户更喜欢自己的音乐,他们将无法拥有可替代的 mp3 文件夹。对于播放实际上不属于项目的 mp3,我有哪些选择?

【问题讨论】:

    标签: c# audio xna background-music


    【解决方案1】:

    经过大量搜索,我终于在 App Hub 论坛上找到了this 帖子,这给了我一个解决方案。

    您可以使用Song.FromUri 加载歌曲,然后使用MediaPlayer.Play(song) 播放该歌曲。

    Uri songPath = new Uri("Songs/song.mp3", UriKind.Relative);
    Song song = Song.FromUri("song", songPath);
    MediaPlayer.Play(song);
    

    在您的问题中,您说(很明显)您想要使用 MediaPlayer,但似乎原因是因为您首先需要转换歌曲并且它需要纳入项目资源。这样一来,歌曲只需要位于“Songs”目录中(与可执行文件位于同一目录中)。

    使用SoundEffect 类也行不通,因为您必须使用TitleContainer.OpenStream,当我尝试它时它喜欢抱怨。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 2013-03-24
      • 2020-08-27
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多