1

我对 XNA 很陌生,我一直在尝试解决这个问题。不用说,我不能(因此问题!!)

我一直在尝试使用 XNA 来处理音频,它似乎运行良好。但是,尽管我尝试播放的所有音乐文件都是 MP3 格式,但仍有一些歌曲无法播放。

我做的简单测试的结果如下(假设“SongB”是不播放的歌曲)

  • MediaPlayer.Play(SongA) --> 作品
  • MediaPlayer.Play(SongB) --> 没有声音
  • MediaPlayer.Play(SongC) --> 作品

如果我有一个列出歌曲的列表,以及一个在调用“next()”时播放下一首歌曲的程序:

int playingIdx = 0;

SongList[0] = SongA;
SongList[1] = SongB;
SongList[2] = SongC;

void next()
{
    PlayingIdx++;
    MediaPlayer.Play(SongList[PlayingIdx]);
}

那么当PlayingIdx = 1时,跳过SongB,程序播放SongC。有没有人遇到过类似的事情?或者是否有某种类型的 MP3 XNA 可以播放?

4

1 回答 1

1

我的猜测是 XNA 播放器比大多数音频播放器对某些格式不一致的情况过于敏感。尝试解码然后重新编码导致问题的歌曲。对于此任务,您可以使用LAME,例如:

lame --mp3input --strictly-enforce-ISO song.mp3 fixed_song.mp3

除此之外会尝试重新排列歌曲的顺序只是为了检查它并不重要。

于 2012-08-14T05:05:22.900 回答