UWP MediaPlayerElement:发生未知错误
UWP MediaPlayerElement: An unknown error occurred
我有一个 UWP 应用程序使用媒体元素来呈现视频和音频文件。当我离开应用程序中的 MediaElements 并返回时,我经常得到 "Error: An unknown error occurred" 而不是 video/audio。它看起来像这样:
有时,我可以在收到此错误后导航回来,它会正常加载。
我通过使用 MediaSource.CreateFromStorageFile
传递 StorageFile 来填充 MediaSource,并且只设置一次。我在应用程序中没有收到任何异常,并且在事件查看器中也没有看到任何内容。任何想法将不胜感激!
XAML
<MediaPlayerElement Source="{x:Bind MediaSource}"
Width="400"
MaxWidth="400"
AutoPlay="False"
AreTransportControlsEnabled="true"
HorizontalAlignment="{x:Bind Alignment, Converter={StaticResource AlignmentConverter}}"
>
<MediaPlayerElement.TransportControls>
<MediaTransportControls IsCompact="True"
IsZoomButtonVisible="{x:Bind IsVideo}"
IsFullWindowButtonVisible="{x:Bind IsVideo}"/>
</MediaPlayerElement.TransportControls>
</MediaPlayerElement>
经过许多痛苦和 MSDN 票证后,我们解决了这个问题。事实证明,当 MediaPlayerElement
被回收时,它没有被正确处理,所以下次应用程序试图从同一个 MediaSource
加载时,它会因这个错误而中断。
关键是在 MediaPlayerElement
的父元素的 ContainerContentChanging
事件中将元素的 Source
属性 设置为 null
标记为回收的元素。
我有一个 UWP 应用程序使用媒体元素来呈现视频和音频文件。当我离开应用程序中的 MediaElements 并返回时,我经常得到 "Error: An unknown error occurred" 而不是 video/audio。它看起来像这样:
有时,我可以在收到此错误后导航回来,它会正常加载。
我通过使用 MediaSource.CreateFromStorageFile
传递 StorageFile 来填充 MediaSource,并且只设置一次。我在应用程序中没有收到任何异常,并且在事件查看器中也没有看到任何内容。任何想法将不胜感激!
XAML
<MediaPlayerElement Source="{x:Bind MediaSource}"
Width="400"
MaxWidth="400"
AutoPlay="False"
AreTransportControlsEnabled="true"
HorizontalAlignment="{x:Bind Alignment, Converter={StaticResource AlignmentConverter}}"
>
<MediaPlayerElement.TransportControls>
<MediaTransportControls IsCompact="True"
IsZoomButtonVisible="{x:Bind IsVideo}"
IsFullWindowButtonVisible="{x:Bind IsVideo}"/>
</MediaPlayerElement.TransportControls>
</MediaPlayerElement>
经过许多痛苦和 MSDN 票证后,我们解决了这个问题。事实证明,当 MediaPlayerElement
被回收时,它没有被正确处理,所以下次应用程序试图从同一个 MediaSource
加载时,它会因这个错误而中断。
关键是在 MediaPlayerElement
的父元素的 ContainerContentChanging
事件中将元素的 Source
属性 设置为 null
标记为回收的元素。