Не удается получить 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",

Другие вопросы по тегам