Разработка алгоритма и создание программного пакета для работы с файлами мультимедиа

Автор работы: Пользователь скрыл имя, 27 Января 2013 в 13:22, курсовая работа

Описание работы

Задачей для данной курсовой работы является разработка алгоритма и создание программного пакета, который бы осуществлял:
- открытие мультимедиа файлов
- воспроизведение аудио
- воспроизведение видео
- создание дружественного пользовательского интерфейса

Содержание работы

ВВЕДЕНИЕ_______________________________________________________3
ПОСТАНОВКА ЗАДАЧИ__________________________________________4
2. ОПИСАНИЕ РАЗРАБОТАННЫХ АЛГОРИТМОВ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ____________________________________________4
2.1 Алгоритм обработчика кнопки Play and Pause_______________________4
2.2 Алгоритм обработчика кнопки Stop _______________________________5
2.3 Алгоритм обработчика кнопки Back _______________________________6
2.4 Алгоритм обработчика кнопки Forward____________________________6
2.5 Алгоритм обработчика кнопки Exit________________________________7
2.6 Алгоритм обработчика кнопки Repeat______________________________8
2.7 Алгоритм обработчика кнопки Open_______________________________8
2.8 Алгоритм обработчика кнопки LeftAlt_____________________________9
2.9 Алгоритм обработчика слайдера Volume___________________________9
2.10 Алгоритм обработчика слайдера TimeSlider_______________________10
3. КРАТКОЕ ОПИСАНИЕ МЕТОДОВ И ФУНКЦИЙ_____________________10
4. ОПИСАНИЕ ПРОГРАММЫ________________________________________12
4.1 Общие сведения_______________________________________________12
4.2 Описание управляющего меню___________________________________12
ВЫВОД_____________________________________________________________13
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ_____________________________14
ПРИЛОЖЕНИЕ A. ЛИСТИНГ ПРОГРАММЫ ДЛЯ ЗАДАНИЯ №1__________15
ПРИЛОЖЕНИЕ Б. ЛИСТИНГ ПРОГРАММЫ ДЛЯ ЗАДАНИЯ №2__________19

Файлы: 1 файл

Пояснительная записка.docx

— 766.11 Кб (Скачать файл)

 

4. ОПИСАНИЕ  ПРОГРАММЫ

 

4.1    Общие сведения

 

Данный программный пакет предназначен для воспроизведения мультимедиа файлов. Решение осуществляется на основании группы функций и методов.  Программа способна осуществлять воспроизведение аудио и видео файлов, используя набор стандартных кодеков. Интерфейс программы максимально дружелюбен пользователю. Программный пакет защищен от случайных ошибок и непредвиденных завершений сеансов. Данный пакет полностью написан на языке XAML.

 

4.2   Описание  управляющего меню

Для облегчения работы пользователя было создано управляющее меню в графическом режиме. Меню состоит из набора кнопок, меток и слайдеров. Взаимодействие с элементами меню происходит с помощью plug & play устройств. По прошествии некоторого времени меню скрывается, для меньшего захламления рабочей области приложения, вернуть меню можно наведя указатель на то место где находится его контейнер.

   

ВЫВОД

  Проделав  данную работу, я закрепила теоретическую часть курса:

«системное программирование», приобрела навыки алгоритмизации и программирования с использованием современных программных и технических средств вычислительной техники. В результате проделанной работы я разработала  программный пакет предназначенный для воспроизведения мультимедийных файлов. Решение осуществляется группой функций и методов. Программа работает вне зависимости от места ее расположения и не требует наличия посторонних приложений. Данный пакет полностью написан на языке XAML.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

 

  1. Интернет источник: http://ru.wikipedia.org/
  2. Интертнет источник: http://msdn.microsoft.com/ruru/library/gg145045.aspx
  3. Интернет источник: http://www.rsdn.ru/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ А

Листинг программы:

 

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;

using System.Windows.Media.Animation;

 

namespace MediaSampleWPF

{

    public partial class Window1 : Window

    {

        #region Constructor

        public Window1()

        {

            InitializeComponent();

            IsPlaying(false);

            button_return();

        }

        #endregion

    

        #region IsPlaying(bool)

        private void IsPlaying(bool bValue)

        {

            btnStop.IsEnabled = bValue;

            btnMoveBackward.IsEnabled = bValue;

            btnMoveForward.IsEnabled = bValue;

            btnPlay.IsEnabled = bValue;

            repeate.IsEnabled = bValue;

            if(bValue==true)

            timer();

           

              //  slider2.Maximum = MediaEL.NaturalDuration.TimeSpan.TotalMilliseconds;

        }

        #endregion

 

        #region Buttons

        #region Play and Pause

        bool flag = false;

        private void btnPlay_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)

        {

            ImageBrush ib = new ImageBrush();

            IsPlaying(true);

            if (flag == false)

            {

                ib.ImageSource = new BitmapImage(new Uri("pack://application:,,,/images/player_pause.png"));             

                MediaEL.Play();

                btnPlay.Fill = ib;

                if (MediaEL.HasVideo == false)

                    label2.Visibility = Visibility.Visible;

                else

                    label2.Visibility = Visibility.Hidden;

                flag = true;

            }

            else

            {

                MediaEL.Pause();

                ib.ImageSource = new BitmapImage(new Uri("pack://application:,,,/images/_play.png"));

                btnPlay.Fill = ib;

                flag = false;

            }

        }

    

        #endregion

     

        #region Stop

        private void btnStop_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)

        {

            MediaEL.Stop();

            IsPlaying(false);

            ImageBrush ib = new ImageBrush();

            ib.ImageSource = new BitmapImage(new Uri("pack://application:,,,/images/_play.png"));

            btnPlay.Fill = ib;

            flag = false;

            btnPlay.IsEnabled = true;

        }

        #endregion

 

        #region Back and Forward

        private void btnMoveForward_Click(object sender, MouseButtonEventArgs e)

        {

            MediaEL.SpeedRatio *=2;

        }

 

        private void btnMoveBackward_Click(object sender, MouseButtonEventArgs e)

        {

            MediaEL.SpeedRatio/=2;

        }

        #endregion

 

        #region exit

        private void exit_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)

        {

            this.Close();

        }

        #endregion

 

        #region return

        public void button_return()

        {

            shadow7.Color = Colors.Aqua;

        }

        bool flag_repeate = false;

        private void repeate_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)

        {

            if (flag_repeate != true)

            {

                shadow7.Color = Colors.Red;

                flag_repeate = true;

            }

            else

            {

                flag_repeate = false;

                shadow7.Color = Colors.Aqua;

            }

 

        }

        #endregion

        #endregion

 

        #region Open Media

        private void btnOpen_Click(object sender, MouseButtonEventArgs e)

        {

            System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog();

            ofd.Filter = "Video Files|*.avi;*.mpeg;*.wmv|"+

                "Music Files|*.mp3;*.wma|"+

                "All Files|*.*";

            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)

            {

                MediaEL.Source = new Uri(ofd.FileName);

                btnPlay.IsEnabled = true;

            }

        }

        private void MediaEL_MediaOpened(object sender, RoutedEventArgs e)

        {

            slider2.Maximum = MediaEL.NaturalDuration.TimeSpan.TotalMilliseconds;

        }

        #endregion

 

        #region Мaximize

        private void Window_KeyDown(object sender, KeyEventArgs e)

        {

            if (e.SystemKey == Key.LeftAlt)

                if (this.WindowStyle != WindowStyle.None)

                {

                    this.WindowStyle = WindowStyle.None;

                    this.WindowState = WindowState.Maximized;

                    this.Topmost = true;

                }

                else

                {

                    this.WindowStyle = WindowStyle = WindowStyle.SingleBorderWindow;

                    this.WindowState = WindowState.Normal;

                    this.Topmost = false;

                }

        }

        #endregion

 

        #region volume

        private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)

        {

            MediaEL.Volume = slider1.Value;

        }

        #endregion

 

        #region timeline

        void timer()

        {

            DispatcherTimer dt = new DispatcherTimer();

            dt.Interval = TimeSpan.FromMilliseconds(1);

            dt.Tick += new EventHandler(dt_Tick);

            dt.Start();

        }

        void dt_Tick(object sender, EventArgs e)

        {

            label2.Content = label1.Content = MediaEL.Position.Hours + ":" + MediaEL.Position.Minutes + ":" + MediaEL.Position.Seconds;

            slider2.Value = MediaEL.Position.TotalMilliseconds;

            if (MediaEL.Position == MediaEL.NaturalDuration && flag_repeate == true)

                MediaEL.Position = new TimeSpan(0, 0, 0);

        }

        private void slider2_GiveFeedback(object sender, GiveFeedbackEventArgs e)

        {

            TimeSpan ts = new TimeSpan(0, 0, 0, 0, (int)slider2.Value);

            MediaEL.Position = ts;

        }

        #endregion

    }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ  Б

 

Интерфейс программного пакета:

 

Рисунок 1 –  Исходный вид приложения.

 

Рисунок 2 – Диалоговое окно – выбор файла.

 

 

 

Рисунок 3 – Воспроизведение аудио файла.

 

 

Рисунок 4 – Воспроизведение видео файла.

 

 




Информация о работе Разработка алгоритма и создание программного пакета для работы с файлами мультимедиа