C# 如何检查MediaElement是否已停止?
我需要检查MediaElement是否在此时停止或播放。 这是我的代码:C# 如何检查MediaElement是否已停止?,c#,xaml,windows-phone-8,mediaelement,C#,Xaml,Windows Phone 8,Mediaelement,我需要检查MediaElement是否在此时停止或播放。 这是我的代码: private void PlayAudioClick(object sender, RoutedEventArgs e) { AudioPlayer.Play(); StopAudio.Visibility = Visibility.Visible; PlayAudio.Visibility = Visibility.Collapsed; if (AudioPlayer.Stoped ==
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){//do something}。您可以使用
MediaElement
的MediaEnded
事件检查媒体何时结束播放
在XAML中
<MediaElement Name="media" MediaEnded="media_MediaEnded" />
事件处理程序看起来像
private void media_MediaEnded(object sender, RoutedEventArgs e)
{
// Do your stuff
}
另外,要检测当前媒体状态,您有一个名为MediaElementState
的枚举,您可以通过调用MediaElement
中的CurrentState
属性来获取该枚举。当将其放入交换机时,您可以看到所有状态
MediaElement还有一个CurrentStateChanged
事件。。当MediaElement的状态发生更改时触发此事件,您可以将此事件与CurrentState属性结合使用,以检查媒体处于何种状态
在XAML中
CurrentStateChanged="media_CurrentStateChanged"
或者用C#
您可以使用它来检测媒体的当前状态。。希望对您有所帮助。您可以使用
MediaElement
的MediaEnded
事件来检查媒体何时结束播放
在XAML中
<MediaElement Name="media" MediaEnded="media_MediaEnded" />
事件处理程序看起来像
private void media_MediaEnded(object sender, RoutedEventArgs e)
{
// Do your stuff
}
另外,要检测当前媒体状态,您有一个名为MediaElementState
的枚举,您可以通过调用MediaElement
中的CurrentState
属性来获取该枚举。当将其放入交换机时,您可以看到所有状态
MediaElement还有一个CurrentStateChanged
事件。。当MediaElement的状态发生更改时触发此事件,您可以将此事件与CurrentState属性结合使用,以检查媒体处于何种状态
在XAML中
CurrentStateChanged="media_CurrentStateChanged"
或者用C#
您可以使用它来检测媒体的当前状态。。希望对您有所帮助。添加
media.Position = TimeSpan.Zero;
到事件处理程序解决问题 添加
media.Position = TimeSpan.Zero;
到事件处理程序解决问题 在Xamarin的MediaElement中找不到CurrentStateChanged 另一种方法是附加PropertyChanged事件,然后检查更改:
videoPlayer.PropertyChanged += VideoPlayer_PropertyChanged;
private void VideoPlayer_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
switch (videoplayer.CurrentState)
{
case MediaElementState.Playing:
break;
case MediaElementState.Stopped:
break;
}
}
在Xamarin的MediaElement中找不到CurrentStateChanged 另一种方法是附加PropertyChanged事件,然后检查更改:
videoPlayer.PropertyChanged += VideoPlayer_PropertyChanged;
private void VideoPlayer_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
switch (videoplayer.CurrentState)
{
case MediaElementState.Playing:
break;
case MediaElementState.Stopped:
break;
}
}
还有别的办法吗?我的mediaelement没有启动这些事件还有其他方法吗?我的mediaelement没有触发这些事件