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