我在wpf开发了一个媒体播放器,但它没有播放。正常加载,但视频无法播放。打开视频文件后,视频无法播放。通过使用播放按钮也不会播放。我不知道问题在哪里?
这是我的.cs文件代码:
namespace WpfApplication2
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
mediaElement1.Play();//play button code
}
private void button2_Click(object sender, RoutedEventArgs e)
{
mediaElement1.Pause();//pause button code
}
private void button3_Click(object sender, RoutedEventArgs e)
{
mediaElement1.Stop(); //stop button code
}
private void mediaElement1_MediaOpened(object sender, RoutedEventArgs e)
{
slider1.Maximum = mediaElement1.NaturalDuration.TimeSpan.TotalMilliseconds;
slider1.IsEnabled = mediaElement1.IsLoaded;
slidervolume.IsEnabled = mediaElement1.IsLoaded;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
}
private void file_click(object sender, RoutedEventArgs e)
{
//opening video file into our media element
OpenFileDialog ofd;
ofd = new OpenFileDialog();
ofd.AddExtension = true;
ofd.DefaultExt = "*.*";
ofd.Filter = "media (*.*)|*.*";
ofd.ShowDialog();
mediaElement1.Source = new Uri(ofd.FileName);
mediaElement1.Play();
}
}
}
答案 0 :(得分:2)
您必须将媒体元素加载行为设置为手动,以便您可以手动暂停,停止和播放媒体元素。如果不将其设置为手动,则无法处理暂停,播放和停止等操作。
以下行适合您。
mediaElement1.LoadedBehavior = MediaState.Manual;
mediaElement1.Play();
答案 1 :(得分:1)
检查视频格式和已安装的编解码器。
并检查一下:http://msdn.microsoft.com/en-us/magazine/cc163455.aspx#S1
来自维基百科:默认情况下,WPF支持视频格式WMV,MPEG和一些AVI文件,但由于它下面运行的是Windows Media Player,WPF可以使用为其安装的所有编解码器。
尝试使用基本的WMV文件(mpeg 2)。