我有一个使用媒体元素呈现视频和音频文件的UWP应用。当我离开应用程序中的MediaElements并导航回来时,我经常得到"错误:发生未知错误"而不是视频/音频。它看起来像这样:
有时,我可以在收到此错误后导航回来,它会正常加载。
我通过使用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>
答案 0 :(得分:0)
经过多次痛苦和MSDN门票后,我们发现了这一点。事实证明,当MediaPlayerElement
被回收时,它没有被正确处理,因此下次应用程序尝试从同一MediaSource
加载时,它会因此错误而中断。
关键是要将Source
事件中null
属性的ContainerContentChanging
属性设置为MediaPlayerElement
的父元素,以用于标记为回收