У меня есть несколько mp4 (снятых на андроиде, некоторые в портретной, некоторые в альбомной). Когда я использую их в качестве источника тега MediaElement, они всегда воспроизводятся в ландшафтном режиме.Я гуглил это как сумасшедший и ничего не нашел об ориентации видео в MediaElement, так что, надеюсь, я пропустил что-то простое.
Вот мой xaml:
<Canvas x:Name="videoCanvas" Height="Auto" Width="641" Margin="10,0,11,0" HorizontalAlignment="Center" >
<ContentControl Content="{Binding Media}" Width="{Binding ActualWidth, ElementName=videoCanvas}" Height="{Binding ActualHeight, ElementName=videoCanvas}" />
</Canvas>
и выделенный код:
media = new MediaElement();
media.LoadedBehavior = MediaState.Manual;
media.Loaded += Media_Loaded;
media.MediaOpened += Media_MediaOpened;
media.Source = new Uri(@"c:\videos\portrait.mp4");
media.HorizontalAlignment = HorizontalAlignment.Center;
media.VerticalAlignment = VerticalAlignment.Center;
NaturalVideoHeight / Width в Media_MediaOpened одинаково для обоих видео, поэтому я не думаю, что могу использовать это для поворота MediaElement.