gpt4 book ai didi

c# - 如何检查MediaElement是否已停止?

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:10 24 4
gpt4 key购买 nike

我需要检查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){//做某事}。

最佳答案

您可以使用MediaElementMediaEnded事件来检查媒体何时结束播放。

在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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com