Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单一游戏:歌曲被切断_C#_Audio_Monogame - Fatal编程技术网

C# 单一游戏:歌曲被切断

C# 单一游戏:歌曲被切断,c#,audio,monogame,C#,Audio,Monogame,出于某种原因,当我播放一首歌时,它会切断歌曲的最后一秒左右,即使在重复时也是如此 这是一个单一游戏错误,还是我做错了什么? 据我所知,我的代码中没有任何异常之处: public static void Load(JoyGame game) { s_Music = new Dictionary<string, Song>(); MediaPlayer.MediaStateChanged += PlayLoop; string dire

出于某种原因,当我播放一首歌时,它会切断歌曲的最后一秒左右,即使在重复时也是如此

这是一个单一游戏错误,还是我做错了什么? 据我所知,我的代码中没有任何异常之处:

public static void Load(JoyGame game)
{
        s_Music = new Dictionary<string, Song>();

        MediaPlayer.MediaStateChanged += PlayLoop;

        string directory = Directory.GetCurrentDirectory() + "/Content/Music";
        string[] files = Directory.GetFiles(directory);

        for(int i = 0; i < files.Length; i++)
        {
            string name = FileNameExtractor.ExtractName(files[i], 3);
            s_Music.Add(name, game.Content.Load<Song>("Music/" + name + ".ogg"));
        }
}

public static void Play(string song)
{
        MediaPlayer.Stop();
        if(s_Music.ContainsKey(song + "Loop"))
        {
            s_CurrentSong = song + "Loop";
            MediaPlayer.Play(s_Music[s_CurrentSong]);
            MediaPlayer.IsRepeating = true;
        }
}
公共静态无效负载(游戏)
{
音乐=新字典();
MediaPlayer.MediaStateChanged+=播放循环;
string directory=directory.GetCurrentDirectory()+“/Content/Music”;
string[]files=Directory.GetFiles(Directory);
for(int i=0;i