4

在我的 Monogame 项目中,我需要播放视频。为此,我使用Video ClassVideoPlayer上课。但是当我开始解决方案时,VS给了我这个错误:

错误 1 ​​'c:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework 中都存在类型 'Microsoft.Xna.Framework.Media.Video' .Video.dll' 和 'c:\Program Files (x86)\MonoGame\v3.0\Assemblies\WindowsGL\MonoGame.Framework.dll'

我需要VideoPlayer在 Microsoft.Xna.Framework.Video.dll 中播放视频的类。

我该如何解决这个问题?

如果有帮助,这里是我想播放视频的代码:

namespace play
{
    public class PlayVideoClass
    {
        private readonly  Microsoft.Xna.Framework.Media.Video _video;
        private readonly Microsoft.Xna.Framework.Media.VideoPlayer _player;
        private bool _playVideo;

        public PlayVideoClass()
        {
            _video = Game1.Video;
            _player = new Microsoft.Xna.Framework.Media.VideoPlayer();
            _playVideo = true;
        }
        public void Update()
        {
            if (_playVideo)
            {
                if ((int) _player.State == (int)Microsoft.Xna.Framework.Media.MediaState.Stopped)
                {
                    _player.Play( _video);
                    _playVideo = false;
                }
            }
        }
    }
}
4

1 回答 1

1

我认为我对你的反思有更好的解决方案。您应该创建单独的程序集,该程序集仅引用您要使用的程序集(Microsoft.Xna.Framework.Video.dll)。您可以为 Microsoft.Xna.Framework.Media.Video 类型编写一个包装器。您的包装器应该公开您想在应用程序中使用的所有功能。所以现在这个新程序集可以解析正确的类型,因为它只有一个。你的应用程序不需要知道这个冲突,因为它会使用你的类型。

于 2013-04-02T17:16:49.353 回答