我需要检查MediaElement此刻是否停止或播放。
这是我的代码:
private void PlayAudioClick(object sender, RoutedEventArgs e)
{
AudioPlayer.Play();
StopAudio.Visibility = Visibility.Visible;
PlayAudio.Visibility = Visibility.Collapsed;
if (AudioPlayer.Stoped == true)
{
PlayAudio.Visibility = Visibility.Visible;
StopAudio.Visibility = Visibility.Collapsed;
}
}
我正在寻找类似这样的伪代码:if(AudioPlayer.Stoped == true){//做某事}。
最佳答案
您可以使用MediaElement
的MediaEnded
事件来检查媒体何时结束播放。
在XAML中
<MediaElement Name="media" MediaEnded="media_MediaEnded" />
用C#代码
media.MediaEnded += media_MediaEnded;
事件处理程序看起来像..
private void media_MediaEnded(object sender, RoutedEventArgs e)
{
// Do your stuff
}
另外,要检测当前媒体状态,您可以使用一个称为
MediaElementState
的枚举,您可以通过调用CurrentState
中的MediaElement
属性来获取此信息。置于开关中时,您可以查看所有状态。MediaElement也有一个
CurrentStateChanged
事件。.当MediaElement的状态更改时,将触发此事件,您可以将其与CurrentState属性结合使用以检查媒体所处的状态。在XAML中
CurrentStateChanged="media_CurrentStateChanged"
或在C#中
media.CurrentStateChanged += media_CurrentStateChanged;
private void media_CurrentStateChanged(object sender, RoutedEventArgs e)
{
switch (media.CurrentState)
{
case MediaElementState.AcquiringLicense:
break;
case MediaElementState.Buffering:
break;
case MediaElementState.Closed:
break;
case MediaElementState.Individualizing:
break;
case MediaElementState.Opening:
break;
case MediaElementState.Paused:
break;
case MediaElementState.Playing:
break;
case MediaElementState.Stopped:
break;
default:
break;
}
}
您可以使用它来检测媒体的当前状态。希望对您有所帮助。
关于c# - 如何检查MediaElement是否已停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25330295/