1

我在 Windows Phone 8 上使用最新版本的 Silverlight 媒体框架。我已成功播放标准 MP4 和 DRM 加密的 MWV 媒体。

但是,两者都不会播放到屏幕的全部范围。标准 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 的任何属性以使电影尽可能大地播放并保持纵横比吗?

4

1 回答 1

0

你希望你的容器,而不仅仅是你的视频,已经Stretch="Uniform"设置好了。也就是说,无论是 Grid、SMFPlayer 等...我不确定哪个元素需要它,这取决于您的 XAML。

这应该可以满足您的要求:尽可能多地填充屏幕,同时保持纵横比,而不进行裁剪。如果您想“缩放”,还有另一种模式,即裁剪以使屏幕始终充满:Stretch="UniformToFill"

于 2012-12-12T08:45:07.123 回答