编程语言
首页 > 编程语言> > c# – 视频类存在于两个库中

c# – 视频类存在于两个库中

作者:互联网

在我的Monogame项目中,我需要播放视频.为此,我使用Video Class和VideoPlayer类.但是当我开始解决方案时,VS给我这个错误:

Error 1 The type ‘Microsoft.Xna.Framework.Media.Video’ exists in both ‘c:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Video.dll’ and ‘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;
                }
            }
        }
    }
}

解决方法:

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

标签:c,video,monogame,video-player
来源: https://codeday.me/bug/20190709/1410558.html