Программа воспроизведения мультимедиа файлов
Разработка программного пакета, предназначенного для воспроизведения аудио и видео файлов, с использованием набора стандартных кодеков. Алгоритм обработчиков кнопок. Описание управляющего меню. Проверка доступности управляющих элементов пользователю.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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