Не удается получить SMFPlayer Silverlight Media Framework для показа фильма во весь экран или с правильным соотношением сторон
Я использую последнюю версию Silverlight Media Framework для Windows Phone 8. У меня есть как стандартные MP4-файлы, так и MWV-файлы с шифрованием DRM для успешного воспроизведения.
Тем не менее, ни один не будет играть в полной мере экрана. Стандартный MP4 играет с правильным соотношением сторон, но не заполняет доступную область. Некоторые фильмы делают, так что я думаю, что некоторые имеют более низкое разрешение, чем телефон, поэтому играть меньше. Было бы хорошо, чтобы фильмы с более низким разрешением воспроизводились на весь экран.
Пленки DRM заполняют экран по вертикали, но "сжимаются" по горизонтали (с соотношением сторон 4:3). Это должны быть широкоэкранные фильмы (!
Я пробовал несколько вещей, таких как установка элемента воспроизведения на высоту и ширину плеера
item.VideoHeight = player.ActualHeight;
item.VideoWidth = player.ActualWidth;
item.VideoStretchMode = Stretch.Uniform;
Это не сработало. Также не было установки следующего в плеере xaml!
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
Я использую простейшую реализацию в XAML на данный момент.
<core:SMFPlayer
Name="player"
IsEnabled="True"
Grid.Row="0"
CaptionsVisibility="Disabled"
VolumeLevel="50"
Visibility="{Binding DisplayError, ConverterParameter=true, Converter={StaticResource BoolToVisibilityConverter}}"
/>
Может кто-нибудь помочь? Мне нужно, чтобы все медиафайлы воспроизводились максимально полноэкранно, сохраняя соотношение сторон, а не обрезку.
Есть ли какие-либо свойства SMF, которые я могу установить, чтобы фильмы проигрывались как можно большего размера и сохраняли пропорции?
1 ответ
Вы хотите, чтобы ваши контейнеры, а не только ваше видео, имели Stretch="Uniform"
задавать. То есть Grid, SMFPlayer и т. Д. Я не уверен, какой именно элемент должен иметь это, это зависит от вашего XAML.
Это должно делать то, что вы хотите: заполнить как можно больше экрана, сохраняя соотношение сторон, без кадрирования. Существует другой режим, если вы хотите "увеличить", то есть кадрирование, чтобы экран всегда был заполнен: Stretch="UniformToFill"
,