我正在制作一个具有基本功能的媒体播放器,但是在出现异常后点击暂停播放或停止按钮时出现奇怪的行为'System.NotSupportedException'附加信息:除非将LoadedBehavior或UnloadedBehavior设置为Manual,否则无法控制媒体
必需的代码和xaml如下:
XAML:
<MediaElement x:Name="VideoPreview" LoadedBehavior="Manual" UnloadedBehavior="Stop" Width="auto" Height="250" MediaOpened="Element_MediaOpened" MediaEnded="Element_MediaEnded" Source="{Binding SelectedItem.SourceUri, ElementName=VideoList}" Margin="5,5,5,5" Stretch="Fill"/>
代码背后:
void OnMouseDownPlayMedia(object sender, MouseButtonEventArgs args)
{
VideoPreview.Play();
}
// Pause the media.
void OnMouseDownPauseMedia(object sender, MouseButtonEventArgs args)
{
VideoPreview.Pause();
}
// Stop the media.
void OnMouseDownStopMedia(object sender, MouseButtonEventArgs args)
{
VideoPreview.Stop();
}
当点击任一鼠标事件时,我得到例外。
答案 0 :(得分:2)
答案确实在错误文本中... 除非LoadedBehavior
或UnloadedBehavior
设置为Manual
。因此,您的解决方案是将MediaElement.LoadedBehavior
或MediaElement.UnloadedBehavior
属性设置为值MediaState.Manual
。
来自MSDN上的MediaElement.LoadedBehavior
Property页:
必须将LoadedBehavior设置为“手动”才能使用“播放”,“暂停”和“停止”方法以交互方式控制媒体。
从MSDN中可以找到的内容真是太棒了。