Видео класс существует в двух библиотеках

В моем проекте Monogame мне нужно воспроизвести видео. Для этого я использую Video Class а также VideoPlayer учебный класс. Но когда я запускаю решение, VS выдаёт мне эту ошибку:

Ошибка 1 Тип "Microsoft.Xna.Framework.Media.Video" существует в обоих файлах: c:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.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;
                }
            }
        }
    }
}

1 ответ

Решение

Я думаю, что у меня есть лучшее решение для этого отражения. Вы должны создать отдельную сборку, которая будет иметь ссылку только на сборку, которую вы хотите использовать (Microsoft.Xna.Framework.Video.dll). Вы можете написать оболочку для типа Microsoft.Xna.Framework.Media.Video. Ваша обертка должна предоставлять всю функциональность, которую вы хотите использовать в своем приложении. Так что теперь эта новая сборка может разрешить правильный тип, потому что она имеет только один из них. Ваше приложение не должно знать об этом конфликте, потому что оно будет использовать ваш тип.

Другие вопросы по тегам