非常奇怪的MediaElement行为

本文关键字:MediaElement 行为 非常 | 更新日期: 2023-09-27 18:16:08

问题一:

当我播放视频并且视频结束时,我在MediaEnded事件处理程序中再次播放它。
问题是,只有当我触摸屏幕并滚动时它才会再次开始播放(音频在不滚动的情况下再次播放)。

问题2:

当视频播放时,我滚动屏幕,一旦视频开始出屏,它开始拉伸和变形。

XAML非常简单:

<Grid x:Name="LayoutRoot" Background="Transparent">
    <ScrollViewer>
        <StackPanel Orientation="Vertical" Height="1500" Background="White">
            <MediaElement Source="https://vines.s3.amazonaws.com/v/videos/AC5539AF-9251-4363-A641-E7F01C4E6239-141-0000012CB4E3656E_1.0.mp4?versionId=GzoAU2AQAlSzFs_9XM5u.FF90IScP45j" Width="456" HorizontalAlignment="Left" AutoPlay="True" Stretch="None" MediaEnded="MediaElement_MediaEnded_1"/>
        </StackPanel>
    </ScrollViewer>
</Grid>

注意:这两个问题只发生在真实设备上,而不是在模拟器中。我怎样才能解决这个非常非常奇怪的问题呢?

非常奇怪的MediaElement行为

怎么样,

<Grid x:Name="LayoutRoot" Background="Transparent">
    <!--Basic Windowsphone Way-->
    <StackPanel>
        <MediaElement x:Name="PlayElement" Source="https://vines.s3.amazonaws.com/v/videos/AC5539AF-9251-4363-A641-E7F01C4E6239-141-0000012CB4E3656E_1.0.mp4?versionId=GzoAU2AQAlSzFs_9XM5u.FF90IScP45j" AutoPlay="True" Stretch="UniformToFill" MediaEnded="MediaElement_MediaEnded_1" />
    </StackPanel>
</Grid>

    private void MediaElement_MediaEnded_1(object sender, RoutedEventArgs e)
    {
        PlayElement.Play();
    }