Hi,
I want to have a media player in my application.
It should play audio and video files.
I have already created one.
But it does not play audio or video.
It complies perfectly and also executes,but I get no output.
Can any one help me? I am also posting my code.
Tell me what changes I need to incorporate in my current project so that it works fine.
Further in some blogs I have found that I require to have media player 10 and above.
I have MP 11 installed on my system. But still it is not giving me any output.
Thanks in advance.
C# Coding
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Forms;
namespace MediaPlayer
{
public partial class MainWindow : Window
{
#region Constructor
public MainWindow()
{
InitializeComponent();
IsPlaying(false);
}
#endregion
#region IsPlaying(bool)
private void IsPlaying(bool bValue)
{
btnStop.IsEnabled = bValue;
btnMoveBackward.IsEnabled = bValue;
btnMoveForward.IsEnabled = bValue;
btnPlay.IsEnabled = bValue;
}
#endregion
#region Open Media
private void btnOpen_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Audio and Video (*.mp3,*.wav,*.mpeg,*.wmv,*.avi)|*.mp3;*.wav;*.mpeg;*.wmv;*.avi";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
MediaEL.Source = new Uri(ofd.FileName);
btnPlay.IsEnabled = true;
}
}
#endregion
private void btnPlay_Click(object sender, RoutedEventArgs e)
{
IsPlaying(true);
if (btnPlay.Content.ToString() == "Play")
{
MediaEL.Play();
btnPlay.Content = "Pause";
}
else
{
MediaEL.Pause();
btnPlay.Content = "Play";
}
}
#region Stop
private void btnStop_Click(object sender, RoutedEventArgs e)
{
MediaEL.Stop();
btnPlay.Content = "Play";
IsPlaying(false);
btnPlay.IsEnabled = true;
}
#endregion
private void btnMoveBackward_Click(object sender, RoutedEventArgs e)
{
MediaEL.Position = MediaEL.Position + TimeSpan.FromSeconds(10);
}
private void btnMoveForward_Click(object sender, RoutedEventArgs e)
{
MediaEL.Position = MediaEL.Position - TimeSpan.FromSeconds(10);
}
}
}
XAML Coding
<pre lang="xml"><Window x:Class="MediaPlayer.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="226*" />
<RowDefinition Height="36*" />
</Grid.RowDefinitions>
<MediaElement x:Name="MediaEL" Grid.RowSpan="1" LoadedBehavior="Manual" UnloadedBehavior="Close" />
<StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Center">
<Button x:Name="btnPlay" Content="Play" Click="btnPlay_Click"
Width="50" Height="25"/>
<Button x:Name="btnStop" Content="Stop" Click="btnStop_Click"
Width="50" Height="25"/>
<Button x:Name="btnMoveBackward" Content="Back" Click="btnMoveBackward_Click"
Width="50" Height="25"/>
<Button x:Name="btnMoveForward" Content="Forward" Click="btnMoveForward_Click"
Width="50" Height="25"/>
<Button x:Name="btnOpen" Content="Open" Click="btnOpen_Click"
Width="50" Height="25"/>
</StackPanel>
</Grid>
</Window
>