"> پخش کننده ی ویدیو با استفاده از سی شارپ | ام اس پی سافت

پخش کننده ی ویدیو با استفاده از سی شارپ

پخش کننده ی ویدیو

در این مقاله با هم به سراغ نحوه ی پیاده سازی یک پخش کننده ی ویدیو با استفاده از سی شارپ خواهیم رفت. کد های موردنیازتان را میتوانید در ادامه ی مطلب مشاهده کنید. سورس آن نیز در انتهای مطلب برای دانلود قرار داده شده است. امیدوارم از آن استفاده کنید. با من همراه باشید…

پخش کننده ی ویدیو

احتیاجات :

سه عدد Button

یک عدد المان media برای اجرای فایل های media

دو عدد Slider ، یکی برای صدا و دیگری برای کنترل ویدیو (عقب و جلو کردن) همانطور که در تصویر زیر میتوانید ببینید :

پخش کننده ی ویدیو

طراحی صفحه را همانند بالا انجام دهید ، برای اینکار میتوانید از کد های داده شده زیر در فایل Xaml استفاده کنید:

Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="RNTP® Player" Height="497" Width="796" AllowDrop="True" Drop="Window_Drop">   
<Viewbox Stretch="Fill">   
<Grid>   
<MediaElement Height="402" HorizontalAlignment="Left" Name="mediaElement1" VerticalAlignment="Top" Width="774" Cursor="Wait" MediaOpened="mediaElement1_MediaOpened" Stretch="UniformToFill" />   
<Button Content="Play" Height="23" HorizontalAlignment="Left" Margin="0,432,0,0" Name="btPlay" VerticalAlignment="Top" Width="75" Cursor="Hand" Click="btPlay_Click" />   
<Button Content="Pause" Height="23" HorizontalAlignment="Left" Margin="81,432,0,0" Name="btPause" VerticalAlignment="Top" Width="75" Cursor="Hand" Click=" btPause_Click" />   
<Button Content="Stop" Height="23" HorizontalAlignment="Left" Margin="162,432,0,0" Name="btStop" VerticalAlignment="Top" Width="75" Cursor="Hand" Click=" btStop_Click" />   
<Slider Height="23" HorizontalAlignment="Left" Margin="0,406,0,0" Name="slider_seek" VerticalAlignment="Top" Width="774" Cursor="Pen" ValueChanged="slider_seek_ValueChanged" />   
<Slider Height="23" HorizontalAlignment="Left" Margin="621,429,0,0" Name="slider_vol" VerticalAlignment="Top" Width="126" Cursor="Pen" Maximum="1" LargeChange="0.1" SmallChange="0.01" Value="1" ValueChanged="slider_vol_ValueChanged" />   
<Label Content="Volume" Foreground="blue" Margin="621,409,0,26" /> </Grid>   
</Viewbox>   
</Window> 

حال نوبت کد های سی شارپ است :

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.Threading;  
namespace RNTPvideo_player  
{  
    /// <summary>  
    /// Interaction logic for MainWindow.xaml  
    /// </summary>  
    public partial class MainWindow: Window  
    {  
        DispatcherTimer timer;  
        public MainWindow()  
        {  
            InitializeComponent();  
            timer = new DispatcherTimer();  
            timer.Interval = TimeSpan.FromMilliseconds(500);  
            timer.Tick += new EventHandler(timer_Tick);  
        }  
        void timer_Tick(object sender, EventArgs e)  
        {  
            slider_seek.Value = mediaElement1.Position.TotalSeconds;  
        }  
        private void btPlay_Click(object sender, RoutedEventArgs e)  
        {  
            if (mediaElement1.Source != null)  
            {  
                mediaElement1.Play();  
            }  
            else  
            {  
                MessageBox.Show("Please drag and drop video to play");  
            }  
        }  
        private void btPause_Click(object sender, RoutedEventArgs e)  
        {  
            if (mediaElement1.Source != null)  
            {  
                mediaElement1.Pause();  
            }  
            else  
            {  
                MessageBox.Show("There is no video to play");  
            }  
        }  
        private void btStop_Click(object sender, RoutedEventArgs e)  
        {  
            if (mediaElement1.Source != null)  
            {  
                mediaElement1.Stop();  
            }  
            else  
            {  
                MessageBox.Show("There is no video to stop");  
            }  
        }  
        private void slider_vol_ValueChanged(object sender, RoutedPropertyChangedEventArgs < double > e)  
        {  
            mediaElement1.Volume = (double) slider_vol.Value;  
        }  
        private void slider_seek_ValueChanged(object sender, RoutedPropertyChangedEventArgs < double > e)  
        {  
            mediaElement1.Position = TimeSpan.FromSeconds(slider_seek.Value);  
        }  
        private void Window_Drop(object sender, DragEventArgs e)  
        {  
            string filename = (string)((DataObject) e.Data).GetFileDropList()[0];  
            mediaElement1.Source = new Uri(filename);  
            mediaElement1.LoadedBehavior = MediaState.Manual;  
            mediaElement1.UnloadedBehavior = MediaState.Manual;  
            mediaElement1.Volume = (double) slider_vol.Value;  
            mediaElement1.Play();  
        }  
        private void mediaElement1_MediaOpened(object sender, RoutedEventArgs e)  
        {  
            TimeSpan ts = mediaElement1.NaturalDuration.TimeSpan;  
            slider_seek.Maximum = ts.TotalSeconds;  
            timer.Start();  
        }  
    }  
}  

موفق باشید !

داریوش فرخی

داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    علی پاسخ

    سلام من در ابتدا نرم افزار ویژوال استودیو2010رونصب کردم وبعد با خطای عکس زیر روبه رو شدم:
    http://uupload.ir/files/98s6_vs_2010_error.png
    وبعدش کامپیوترو دادم بیرون درست کنن گفت ما دلیل ارور رو پیدا نکردیم وبرام ویژوال استودیو2012 نصب کرد وبعد ان هم ارور دیگه ای داد که با این ارور فرق می کرد حالا فهمیدم که وقتی به اینترنت وصل می شوم این اتفاق می افتد به نظر شما چکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟