Eyl
3
2012

Wpf ile MediaPlayer Yapımı

Merhaba  Arkadaşlar

Uzun süredir makale yazamadım.  Okuldaki sınavların ve stajdaki yoğunluğumdan dolayı site ile ilgilenemedim ama bayramı fırsat bilerek bilgilerimi sizinle paylaşmak istiyorum.

Bu günkü yazdığım makalede wpf  ile küçük bir mediaplayer  yapımı olacaktır.

1.File-New Project-WpfApplication  seçiyoruz.

 

2.Media Playerimizin tasarımını yapıyoruz. Ben basit bir tasarım yaptım siz daha güzel tasarımlar yapabilirsiniz.Burda ses için koyduğumuz  sliderınmaksimum  ve valueözelliklerini değerini  1 yapıyoruz.

3.Projemizde sağ tıklayıp Add Reference ‘dan  System.Windows.Forms ekliyoruz.

4.MainWindow  ve MainWindow.cs Kodları

<Window x:Class="MediaPlayer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Media Player.vs1" Height="486" Width="720">
<Grid>
<MediaElementHeight="380" HorizontalAlignment="Left" Margin="12,0,0,0" Name="mediaElement1" VerticalAlignment="Top" Width="665" LoadedBehavior="Manual" MediaOpened="mediaElement1_MediaOpened"  />
<SliderHeight="23" HorizontalAlignment="Left" Margin="12,386,0,0" Name="slider1" VerticalAlignment="Top" Width="665" ValueChanged="slider1_ValueChanged" />
<SliderHeight="23" HorizontalAlignment="Right" Margin="0,412,12,0" Name="slider2" VerticalAlignment="Top" Width="100" Value="1" Maximum="1" ValueChanged="slider2_ValueChanged" />
<Label Content="Ses" Height="28" HorizontalAlignment="Left" Margin="552,407,0,0" Name="label1" VerticalAlignment="Top" />
<Button Content="Oynat" Height="29" HorizontalAlignment="Left" Margin="366,412,0,0" Name="Oynat" VerticalAlignment="Top" Width="38" Click="Oynat_Click" />
<Button Content="Durdur" Height="23" HorizontalAlignment="Left" Margin="302,415,0,0" Name="Durdur" VerticalAlignment="Top" Width="48" Click="Durdur_Click" />
<Button Content="Duraklat" Height="23" HorizontalAlignment="Left" Margin="410,412,0,0" Name="Duraklat" VerticalAlignment="Top" Width="50" Click="Duraklat_Click" />
<Button Content="Sec" Height="23" HorizontalAlignment="Left" Margin="12,418,0,0" Name="Sec" VerticalAlignment="Top" Width="42" Click="Sec_Click" />
</Grid>
</Window>
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows;
usingSystem.Windows.Forms;
usingSystem.Windows.Controls;
usingSystem.Windows.Data;
usingSystem.Windows.Documents;
usingSystem.Windows.Input;
usingSystem.Windows.Media;
usingSystem.Windows.Media.Imaging;
usingSystem.Windows.Navigation;
usingSystem.Windows.Shapes;
usingSystem.Windows.Threading;

namespaceMediaPlayer
{
///<summary>
///InteractionlogicforMainWindow.xaml
///</summary>
publicpartialclassMainWindow : Window
{
publicMainWindow()
{
InitializeComponent();
}

privatevoidOynat_Click(objectsender, RoutedEventArgs e)
{
            mediaElement1.Play();
}

privatevoidDurdur_Click(objectsender, RoutedEventArgs e)
{
            mediaElement1.Stop();
}

privatevoidDuraklat_Click(objectsender, RoutedEventArgs e)
{
            mediaElement1.Pause();
}

privatevoidSec_Click(objectsender, RoutedEventArgs e)
{
OpenFileDialognewFile = newOpenFileDialog();
newFile.AddExtension = true;
newFile.DefaultExt = "*.*";
newFile.Filter = "Media Player(*.*)|*.*";
newFile.ShowDialog();

try
{
                mediaElement1.Source = newUri(newFile.FileName);

}
catch
{
newNullReferenceException("error");

}

System.Windows.Threading.DispatcherTimerdispatcherTimer = newDispatcherTimer();
dispatcherTimer.Tick += newEventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = newTimeSpan(0,1,1);
dispatcherTimer.Start();

}

voiddispatcherTimer_Tick(objectsender, EventArgs e)
{
            slider1.Value = mediaElement1.Position.TotalSeconds;
}

privatevoid slider1_ValueChanged(objectsender, RoutedPropertyChangedEventArgs<double> e)
{
TimeSpants = TimeSpan.FromSeconds(e.NewValue);
            mediaElement1.Position=ts;
}

privatevoid slider2_ValueChanged(objectsender, RoutedPropertyChangedEventArgs<double> e)
{
            mediaElement1.Volume = slider2.Value;
}

privatevoid mediaElement1_MediaOpened(objectsender, RoutedEventArgs e)
{
if (mediaElement1.NaturalDuration.HasTimeSpan)
{
TimeSpants = TimeSpan.FromMilliseconds(mediaElement1.NaturalDuration.TimeSpan.TotalMilliseconds);
                slider1.Maximum = ts.TotalSeconds;
}
}

}
}

Ve arkadaşlar mediaPlayerimiz hazır.

Kolay Gelsin.

 

 

Yazar Hakkında

Harun Balta 63 adet yazısı bulunuyor..

Bilgisayar Mühendisliği Üzerine çalıştığım konular: C# , .Net , Silverlight , WPF , Entity Framework ,MVVM, Oracle ,Pl/Sql

Print Friendly