VLC.Dotnet.WPF 控件可拉伸纵向视频我怎样才能控制不拉伸视频

问题描述

VLC.Dotnet.WPF 控件可拉伸纵向视频。我怎样才能控制不拉伸视频。风景视频播放正常,当我在手机上录制视频时,例如.mov 在纵向模式下会拉伸视频。

如何在不拉伸的情况下播放视频?有没有可以通过 CreatePlayer 方法传递的选项?

.xaml

<Grid>
   <vlc:VlcControl x:Name="MediaPlayerOne"
                   VerticalAlignment="Center"
                   HorizontalAlignment="Center" />
</Grid>

.cs

        var currentAssembly = Assembly.GetEntryAssembly();
        var currentDirectory = new FileInfo(currentAssembly.Location).DirectoryName;
        // Default installation path of VideoLAN.LibVLC.Windows
        var libDirectory = new DirectoryInfo(Path.Combine(currentDirectory,"libvlc",IntPtr.Size == 4 ? "win-x86" : "win-x64"));

        MediaPlayerOne.sourceProvider.CreatePlayer(libDirectory);
        MediaPlayerOne.sourceProvider.MediaPlayer.Play(new Uri("text.mov"));

解决方法

您可以像这样尝试各种纵横比

MediaPlayerOne.Video.AspectRatio = "4:3";
MediaPlayerOne.Video.AspectRatio = "16:9";
,

要么 https://github.com/ZeBobo5/Vlc.DotNet/blob/develop/src/Vlc.DotNet.Wpf/VlcVideoSourceProvider.cs 此处存在问题,要么 libvlc 未发送正确的视频比例(即旋转前的原始尺寸,而您期望相反)。您可以尝试克隆 Vlc.DotNet 并进一步调查吗?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...