Программа воспроизведения мультимедиа файлов
Разработка программного пакета, предназначенного для воспроизведения аудио и видео файлов, с использованием набора стандартных кодеков. Алгоритм обработчиков кнопок. Описание управляющего меню. Проверка доступности управляющих элементов пользователю.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.01.2013 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
16
Размещено на http://www.allbest.ru
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ПОСТАНОВКА ЗАДАЧИ
2. ОПИСАНИЕ РАЗРАБОТАННЫХ АЛГОРИТМОВ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ
2.1 Алгоритм обработчика кнопки Play and Pause
2.2 Алгоритм обработчика кнопки Stop
2.3 Алгоритм обработчика кнопки Back
2.4 Алгоритм обработчика кнопки Forward
2.5 Алгоритм обработчика кнопки Exit
2.6 Алгоритм обработчика кнопки Repeat
2.7 Алгоритм обработчика кнопки Open
2.8 Алгоритм обработчика кнопки LeftAlt
2.9 Алгоритм обработчика слайдера Volume
2.10 Алгоритм обработчика слайдера TimeSlider
3. КРАТКОЕ ОПИСАНИЕ МЕТОДОВ И ФУНКЦИЙ
4. ОПИСАНИЕ ПРОГРАММЫ
4.1 Общие сведения
4.2 Описание управляющего меню
ВЫВОД
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ A. ЛИСТИНГ ПРОГРАММЫ ДЛЯ ЗАДАНИЯ №1
ПРИЛОЖЕНИЕ Б. ЛИСТИНГ ПРОГРАММЫ ДЛЯ ЗАДАНИЯ №2
ВВЕДЕНИЕ
Медиа плеер -- компьютерная программа, предназначенная для воспроизведения файлов мультимедиа-контента.
Одна разновидность медиа плееров предназначена для воспроизведения только аудио или же видеофайлов, и которые называются, соответственно, -- аудиоплеер и видеоплеер. Разработчики таких плееров стремятся сделать их как можно более удобными для воспроизведения соответствующих форматов. Другая разновидность программ-медиа плееров поддерживают как аудио так и видео (включая множество медиа контейнеров) и называется мультимедиа-центры. О таком мультимедиа-центре и пойдет речь в моем проекте, написанном на XAML.
XAML (англ. eXtensible Application Markup Language -- расширяемый язык разметки приложений)-- основанный на XML язык разметки для декларативного программирования приложений, разработанный Microsoft. Все созданное или реализованное в XAML может быть выражено при помощи более традиционных .NET языков, таких как: C# или Visual Basic.NET. Однако, ключевым аспектом технологии является уменьшение сложности используемых для обработки XAML инструментов. Поскольку XAML базируется на XML, у разработчиков и дизайнеров существует возможность одновременно работать над содержимым без необходимости компиляции.
1. ПОСТАНОВКА ЗАДАЧИ
Задачей для данной курсовой работы является разработка алгоритма и создание программного пакета, который бы осуществлял:
- открытие мультимедиа файлов
- воспроизведение аудио
- воспроизведение видео
- создание дружественного пользовательского интерфейса
2. ОПИСАНИЕ РАЗРАБОТАННЫХ АЛГОРИТМОВ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ
2.1 Алгоритм обработчика кнопки Play and Pause
Алгоритм обработчика кнопки Play and Pause приведен на блок-схеме 1.
Блок схема 1 - Блок-схема для кнопки Play and Pause.
2.2 Алгоритм обработчика кнопки Stop
Алгоритм обработчика кнопки Stop приведен на блок-схеме 2.
Блок-схема 2 - Блок схема для кнопки Stop.
2.3 Алгоритм обработчика кнопки Back
Алгоритм обработчика кнопки Back приведен на блок-схеме 3.
Блок-схема 3 - Блок схема для кнопки Back.
2.4 Алгоритм обработчика кнопки Forward
Алгоритм обработчика кнопки Forward приведен на блок-схеме 4.
Блок-схема 4 - Блок схема для кнопки Forward.
2.5 Алгоритм обработчика кнопки Exit
Алгоритм обработчика кнопки Exit приведен на блок-схеме 5.
Блок-схема 5 - Блок схема для кнопки Exit.
2.6 Алгоритм обработчика кнопки Return
Алгоритм обработчика кнопки Exit приведен на блок-схеме 6.
Блок-схема 6 - Блок схема для кнопки Return.
2.7 Алгоритм обработчика кнопки Open
Алгоритм обработчика кнопки Open приведен на блок-схеме 7.
Блок-схема 7 - Блок схема для кнопки Open.
2.8 Алгоритм обработчика нажатия клавиши LeftAlt
Алгоритм обработчика нажатия клавиши LeftAlt приведен на блок-схеме 8.
Блок-схема 8 - Блок схема для кнопки LeftAlt.
2.9 Алгоритм обработчика слайдера Volume
Алгоритм обработчика слайдера Volume приведен на блок-схеме 9.
Блок-схема 9 - Блок схема для слайдера Volume.
2.10 Алгоритм обработчика слайдера TimeSlider
Алгоритм обработчика слайдера TimeSlider приведен на блок-схеме 10.
Блок-схема 10 - Блок схема для слайдера TimeSlider.
3. КРАТКОЕ ОПИСАНИЕ МЕТОДОВ И ФУНКЦИЙ
программа мультимедиа файл кнопка
private void IsPlaying(bool bValue)
Определяем доступность управляющих элементов пользователю, если bValue=true запускаем таймер. Та кнопка которая доступна подсвечивается цветом Aqua.
pirvate void btnPlay_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
Происходит при нажатии на кнопку btnPlay. В зависимости от предыдущего состояния выполняется либо воспроизведение файла, либо его приостановка, при этом графическое оформление кнопки меняется.
- private void btnStop_MouseLeftButtonUp(object sender,
MouseButtonEventArgs e)
Происходит при нажатии на кнопку btnStop. Выполняется остановка воспроизведения, при этом кнопка btnPlay становится доступна и меняет свое графическое оформление на значок play.
private void btnMoveForward_Click(object sender, MouseButtonEventArgs e)
Происходит при нажатии на кнопку btnMoveForward. Выполняется увеличение скорости воспроизведения в 2 раза с каждым нажатием кнопки.
- private void btnMoveBackward_Click(object sender,
MouseButtonEventArgs e)
Происходит при нажатии на кнопку btnMoveBackward. Выполняется уменьшение скорости воспроизведения в 2 раза с каждым нажатием кнопки.
- private void exit_MouseLeftButtonUp(object sender,
MouseButtonEventArgs e)
Происходит после нажатия и возврата левой кнопки мыши в исходное положение. Осуществляется выход из приложения.
- public void button_return()
Устанавливаем цвет тени кнопки repeat в Aqua.
private void repeat_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
Происходит после нажатия и возврата левой кнопки мыши по кнопке repeat в исходное положение. В зависимости от исходного цвета тени осуществляется взаимная замена теней: Aqua в Red, и наоборот.
- private void btnOpen_Click(object sender, MouseButtonEventArgs e)
Происходит при нажатии кнопки btnOpen. В следствии чего выполняется открытие диалогового окна с заданными фильтрами для выбора мультимедийного файла. В зависимости от типа файла выполняется воспроизведение аудио либо видео.
- private void MediaEL_MediaOpened(object sender, RoutedEventArgs e)
Происходит после удачного завершения предыдущей функции. Выполняется расчет длины временного интервала полосы прокрутки.
- private void Window_KeyDown(object sender, KeyEventArgs e)
Происходит в момент нажатия клавиши, если форма находится в фокусе. Если нажата клавиша LeftAlt - разворачиваем форму. При повторном нажатии происходит восстановление исходного размера окна плеера.
- private void slider1_ValueChanged(object sender,
RoutedPropertyChangedEventArgs<double> e)
Происходит при изменении текущего значения slider1. Громкость звука устанавливается в зависимости от значения slider1.Value.
- void timer()
Инициализируем таймер.
- void dt_Tick(object sender, EventArgs e)
Происходит при окончании временного интервала, инициализированного в void timer(). Осуществляется обновление времени воспроизведения в label2, реализовано перемещение бегунка по slider2. Если бегунок достигает конца и при этом значение флага повторения установлено в true, осуществляется повторение медиа файла.
4. ОПИСАНИЕ ПРОГРАММЫ
4.1 Общие сведения
Данный программный пакет предназначен для воспроизведения мультимедиа файлов. Решение осуществляется на основании группы функций и методов. Программа способна осуществлять воспроизведение аудио и видео файлов, используя набор стандартных кодеков. Интерфейс программы максимально дружелюбен пользователю. Программный пакет защищен от случайных ошибок и непредвиденных завершений сеансов. Данный пакет полностью написан на языке XAML.
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.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 - Воспроизведение видео файла.
Размещено на www.allbest.
...Подобные документы
Создание информационной мультимедиа системы (медиа-плеера) для презентации аудио-видео информации о факультете КТАС, представленной в специально отснятых и смонтированных avi-файлах. Разработка модуля пользовательского интерфейса, выходные данные.
курсовая работа [41,5 K], добавлен 21.11.2014Визуальный компонент, используемый для создания главного меню на форме, создание закладки и добавление в список воспроизведения музыкального файла. Определение повторения воспроизведения и отображение списков строк, проигрывание аудио и видео файлов.
лабораторная работа [128,7 K], добавлен 27.03.2012Разработка мультимедиа-программы для прослушивания аудио-файлов и просмотров видео. Описание меню для пользователей и для администраторов проекта. Создание форм для указанного приложения при помощи Visual Foxpro 9. Листинг программы и ее результаты.
курсовая работа [1,9 M], добавлен 27.07.2013Формат звукового файла wav, способ его кодирования. Реализация возможностей воспроизведения звука в среде программирования MATLAB. Составление функциональной схемы программы. Апробирование информационной технологии воспроизведения звуковых файлов.
курсовая работа [1,2 M], добавлен 13.02.2016Характеристика программы Winamp — универсального проигрывателя от компании Nullsoft для воспроизведения файлов мультимедиа и потоковой передачи в среде Microsoft Windows. Описание интерфейса и настройка программы. Алгоритм создания музыкальной библиотеки.
курсовая работа [1,5 M], добавлен 15.02.2013Сравнительная характеристика программ-аналогов. Разработка мультимедиа-проигрывателя по систематизированной обработке музыкальных файлов. Создание удобного пользовательского интерфейса. Поддержка списка воспроизведения, базовые функции управления.
курсовая работа [1,1 M], добавлен 02.02.2014Создание оболочки для воспроизведения аудиофайлов. Аналитический обзор языков программирования, их сравнительные характеристики, описание предметной области и формата mp3. Алгоритм разработки инсталляционного пакета. Диаграмма деятельности объектов.
курсовая работа [581,3 K], добавлен 30.01.2014Основная возможность Adobe Premiere – обработка одних видео и аудио файлов и последующий их экспорт в другие видео и аудио файлы. Стандартные эффекты в Adobe Premiere. Дополнения к программе (дополнительные спецэффекты), позволяющие работать с клипами.
реферат [1,9 M], добавлен 26.05.2009Разработка собственного алгоритма сжатия и восстановления данных с использованием возможностей языка C++ в рамках программного продукта "Архиватор". Разработка алгоритма программы, ее первый запуск и тестирование. Проверка работы архивации файлов.
курсовая работа [325,7 K], добавлен 13.10.2015Особенности работы "поисковика" дублирующихся файлов на диске. Выбор среды программирования. Разработка программного продукта. Основные требования, предъявляемые к программе, производящей поиск дублирующихся файлов на диске. Отображение скрытых файлов.
курсовая работа [1,8 M], добавлен 28.03.2015Проектирование структуры и архитектуры программного продукта. Реализация программы конвертера файлов баз данных. Описание пользовательского интерфейса. Выбор порядка конвертации dbf файлов. Создание и исполнение шаблонов. Расчет себестоимости продукта.
дипломная работа [2,2 M], добавлен 21.06.2013Алгоритм составления шаблонов имен при поиске файлов. Описание и функции объекта "Мой компьютер". Способы выделения группы файлов. Назначение кнопок на панели инструментов в программе "Проводник". Копирование в буфер обмена. Функции электронной почты.
контрольная работа [59,8 K], добавлен 18.06.2015Проектирование программного комплекса на языке С++ с использованием принципов объектно-ориентированного программирования. Разработка разных меню, помогающих пользователю работать с программой. Описание процесса формирования статистики по памятникам.
курсовая работа [799,9 K], добавлен 01.12.2016Проектирование программного обеспечения. Схема начального формирования каталога файлов, вывода на экран каталога файлов, удаления файлов, сортировки файлов по имени, дате создания и размеру методом прямого выбора. Управление каталогом в файловой системе.
курсовая работа [804,0 K], добавлен 08.01.2014Создание программы, которая позволяет пользователю задавать произвольную директорию, содержащую музыкальные файлы. Осуществление поиска или рекурсивного поиска файлов в этой директории и формирование csv-файла. Исправление тегов в музыкальных файлах.
курсовая работа [241,3 K], добавлен 13.02.2015Описание документов, на основании которых ведется разработка. Назначение разработки и анализ функций проектируемого программного средства. Этапы разработки программы для поиска и открытия файлов. Руководство для пользователя на разработанную программу.
курсовая работа [3,3 M], добавлен 10.11.2010Обзор особенностей работы с программой Total Commander. Создание папок, копирование файлов на флеш-карту. Вызов контекстного меню. Определение структуры файлов. Переименование группы файлов. Помещение файлов в архив. Разделение архива на несколько частей.
лабораторная работа [1,9 M], добавлен 08.04.2014Разработка алгоритмов и блок-схем, описывающих процесс визуализации и модификации поведения нестандартных управляющих элементов. Описание принципов композиции и организации элементов управления, а также описание выбранного стиля и цветовой гаммы.
курсовая работа [4,2 M], добавлен 22.05.2012Основные компоненты среды Delphi, используемые в программе для сжатия и восстановления файлов. Код программы, разбивка массива на промежутки. Проверка определенных элементов кодовых слов. Поиск кодовых слов в остатке. Результаты тестирования приложения.
курсовая работа [94,1 K], добавлен 19.12.2010Назначение и свойства стандартных диалоговых окон для работы с файловой системой. Свойства, управляющие видом меню. Программирование чтения и записи файлов. Исключительные ситуации и диагностические сообщения. Приемы составления контекстного меню.
лекция [775,2 K], добавлен 09.12.2013