Microsoft XNA MediaPlayer.Play(歌曲)不播放某些歌曲

时间:2012-08-13 12:34:13

标签: c# xna

我是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。有没有人遇到类似的东西?或者XNA可以播放哪种类型的MP3?

1 个答案:

答案 0 :(得分:1)

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

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

除此之外,我会尝试重新排列歌曲的顺序,只是为了检查它是否无关紧要。