Разработка алгоритма и создание программного пакета для работы с файлами мультимедиа
Курсовая работа, 27 Января 2013, автор: пользователь скрыл имя
Описание работы
Задачей для данной курсовой работы является разработка алгоритма и создание программного пакета, который бы осуществлял:
- открытие мультимедиа файлов
- воспроизведение аудио
- воспроизведение видео
- создание дружественного пользовательского интерфейса
Содержание работы
ВВЕДЕНИЕ_______________________________________________________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 Общие сведения
Данный программный пакет
4.2 Описание управляющего меню
Для облегчения работы пользователя было создано управляющее меню в графическом режиме. Меню состоит из набора кнопок, меток и слайдеров. Взаимодействие с элементами меню происходит с помощью plug & play устройств. По прошествии некоторого времени меню скрывается, для меньшего захламления рабочей области приложения, вернуть меню можно наведя указатель на то место где находится его контейнер.
ВЫВОД
Проделав данную работу, я закрепила теоретическую часть курса:
«системное программирование», приобрела навыки алгоритмизации и программирования с использованием современных программных и технических средств вычислительной техники. В результате проделанной работы я разработала программный пакет предназначенный для воспроизведения мультимедийных файлов. Решение осуществляется группой функций и методов. Программа работает вне зависимости от места ее расположения и не требует наличия посторонних приложений. Данный пакет полностью написан на языке XAML.
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
- Интернет источник: http://ru.wikipedia.org/
- Интертнет источник: http://msdn.microsoft.com/
ruru/library/gg145045.aspx - Интернет источник: 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.
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.
}
#endregion
#region Buttons
#region Play and Pause
bool flag = false;
private void btnPlay_MouseLeftButtonUp(obje
{
ImageBrush ib = new ImageBrush();
IsPlaying(true);
if (flag == false)
{
ib.ImageSource = new BitmapImage(new Uri("pack://application:,,,/
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:,,,/
btnPlay.Fill = ib;
flag = false;
}
}
#endregion
#region Stop
private void btnStop_MouseLeftButtonUp(obje
{
MediaEL.Stop();
IsPlaying(false);
ImageBrush ib = new ImageBrush();
ib.ImageSource = new BitmapImage(new Uri("pack://application:,,,/
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(obje
{
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.OpenFileD
ofd.Filter = "Video Files|*.avi;*.mpeg;*.wmv|"+
"Music Files|*.mp3;*.wma|"+
"All Files|*.*";
if (ofd.ShowDialog() == System.Windows.Forms.DialogRes
{
MediaEL.Source = new Uri(ofd.FileName);
btnPlay.IsEnabled = true;
}
}
private void MediaEL_MediaOpened(object sender, RoutedEventArgs e)
{
slider2.Maximum = MediaEL.NaturalDuration.
}
#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.
this.WindowState = WindowState.Normal;
this.Topmost = false;
}
}
#endregion
#region volume
private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs
{
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.
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 – Воспроизведение видео файла.