我有一个.mov文件,我想使用WPF的MediaElement播放,我可以播放和暂停,不用担心因为我使用MediaState.Manual,但我想在我加载时显示视频的第一个图像或帧它,源代码设置在后面,我尝试了MediaElement.ScrubbingEnabled = true后面的代码和xaml,但它仍然没有显示。
这是我的代码(xaml方面):
<DockPanel Height="386" HorizontalAlignment="Center" Name="dockPanel1" VerticalAlignment="Top" Width="731">
<MediaElement Name="McMediaElement" LoadedBehavior="Manual" UnloadedBehavior="Manual" Stretch="Fill" MediaOpened="Element_MediaOpened" MediaEnded="Element_MediaEnded" OpacityMask="#FF040410" Height="386" IsVisibleChanged="SingAlong_IsVisibleChanged" ScrubbingEnabled="True"></MediaElement>
</DockPanel>
背后的代码(xaml.cs):
private void PlayAudio()
{
McMediaElement.LoadedBehavior = MediaState.Manual;
McMediaElement.Source = new Uri("../../SingAlong/GrassHopper and Ants/ants2.mov", UriKind.RelativeOrAbsolute);
McMediaElement.ScrubbingEnabled = true;
McMediaElement.Play();
}
private void button1_Click_1(object sender, RoutedEventArgs e) // Play button
{
if (McMediaElement.Source != null)
{
McMediaElement.Play();
}
else
PlayAudio();
}
private void button2_Click(object sender, RoutedEventArgs e) // Pause button
{
McMediaElement.Pause();
}
答案 0 :(得分:1)
通过我可以收集的内容,您只在点击Source
时加载视频(设置button1
),但您希望在此之前显示第一帧。要完成此操作,您必须使用其他方法加载视频,最好是在Page
或Window
加载时。然后,您可以执行以下操作:
McMediaElement.ScrubbingEnabled = true;
McMediaElement.Play();
McMediaElement.Pause();