C# 媒体播放器控制拉伸以适应窗口大小
我使用以下代码加载媒体并使用媒体播放器控件显示:C# 媒体播放器控制拉伸以适应窗口大小,c#,wpf,size,media-player,windows-media-player,C#,Wpf,Size,Media Player,Windows Media Player,我使用以下代码加载媒体并使用媒体播放器控件显示: MediaPlayer Player = new MediaPlayer(); Player.Open(new Uri(videoURI, UriKind.Absolute)); VideoDrawing aVideoDrawing = new VideoDrawing(); aVideoDrawing.Rect = new Rect(0, 0, 100, 100); aVideoDrawing.Player = Player; DrawingB
MediaPlayer Player = new MediaPlayer();
Player.Open(new Uri(videoURI, UriKind.Absolute));
VideoDrawing aVideoDrawing = new VideoDrawing();
aVideoDrawing.Rect = new Rect(0, 0, 100, 100);
aVideoDrawing.Player = Player;
DrawingBrush brush = new DrawingBrush(aVideoDrawing);
this.Background = brush;
无论我播放的电影大小如何,它都会延伸到1920x1080(窗口大小)。我希望它是在原来的全尺寸,如果高度/宽度小于1920/1080它将中心的视频 因为没有身体控制,我不知道怎么做 非常感谢您的帮助。尝试以下方法: 将两个字段添加到类级别:
MediaPlayer Player;
VideoDrawing aVideoDrawing;
在构造函数中添加以下代码:
Player = new MediaPlayer();
Player.MediaOpened += Player_MediaOpened;
Player.Open(new Uri(videoURI, UriKind.Absolute));
aVideoDrawing = new VideoDrawing();
aVideoDrawing.Player = Player;
DrawingBrush brush = new DrawingBrush(aVideoDrawing);
brush.Stretch = Stretch.None;
this.Background = brush;
在MediaOpen事件处理程序中,设置适当的大小:
void Player_MediaOpened(object sender, EventArgs e)
{
if (Player.NaturalVideoWidth <= 1920 && Player.NaturalVideoHeight <= 1080)
aVideoDrawing.Rect = new Rect(0, 0, Player.NaturalVideoWidth, Player.NaturalVideoHeight);
else
aVideoDrawing.Rect = new Rect(0, 0, 1920, 1080);
}
void Player\u媒体已打开(对象发送方,事件参数e)
{
if(Player.NaturalVideoWidth不brush.Stretch=Stretch.None;
help?工作正常。谢谢。