1

我正在制作一个具有基本功能的媒体播放器,但它的行为很奇怪,当点击暂停播放或停止按钮时出现异常“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();
}

单击任一鼠标事件时,我都会收到异常。

4

1 回答 1

3

答案确实在错误文本中...除非设置为,否则无法控制媒体LoadedBehaviorUnloadedBehaviorManual。因此,您的解决方案是将MediaElement.LoadedBehaviororMediaElement.UnloadedBehavior属性设置为MediaState.Manual.

从 MSDN 上的MediaElement.LoadedBehavior属性页面:

LoadedBehavior 必须设置为 Manual 才能使用 Play、Pause 和 Stop 方法交互控制媒体。

您可以从 MSDN 中找到令人惊奇的信息。

于 2013-10-29T09:34:14.803 回答