Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записка.docx
Скачиваний:
43
Добавлен:
26.03.2016
Размер:
699.53 Кб
Скачать

4.2 Описание интерфейса

Интерфейсы являются основой взаимодействия всех современных информационных систем. Если интерфейс какого-либо объекта (персонального компьютера, программы, функции) не изменяется (стабилен, стандартизирован), это даёт возможность модифицировать сам объект, не перестраивая принципы его взаимодействия с другими объектами.

Например, научившись работать с одной программой под Windows, пользователь с легкостью освоит и другие - потому, что они имеют одинаковый интерфейс.

Интерфейс должен быть в первую очередь наглядным, простым и удобным для пользователя.

Рассмотрим интерфейс нашей программы. При его запуске мы увидим главное окно, в котором находится все возможности программы.

Кнопка открывает файл.

Кнопка создает плейлист.

Кнопка открывает плейлист.

9

Кнопки /ставят воспроизведение на паузу или снимают с нее.

Кнопки /осуществляют переключение песен.

Кнопка останавливает воспроизведение.

По нажатию на кнопку "Открыть плейлист" появляются 3 дополнительные кнопки для его редактирования: добавить песню, удалить песню и обновить плейлист.

По нажатию на кнопку "Добавить файл" появляется диалоговое окно, в котором можно выбрать несколько файлов разного формата.

10

По нажатию на кнопку "Удалить файл" удаляется файл из ListBox.

По нажатию на кнопку "Обновить плейлист" обновляется плейлист форма XML, исходя из содержимого ListBox.

По нажатию на кнопку "Создать плейлист" будут поочередно открываться диалоговые окна, в которых необходимо выбрать директорию для сохранения плейлиста, файлы и ввести имя плейлста.

11

По нажатию на кнопку "Открыть файл" появляется диалоговое окно для открытия файла.

12

13

Заключение

В результате выполнения курсовой работы был создан видео плеер с поддержкой форматов .avi, .mp4, .mp3.

14

Список литературы

  1. Павловская Т. А. Программирование на языке высокого уровня: Учебник для вузов. - СПб.: Питер, 2013. - 432 с.: ил.

  1. Троелсен Эндрю Язык программирования C# 5.0 и платформа .NET 4.5, 6-е изд.: Пер. с англ. - М.: ООО "И. Д. Вильямс", 2013. - 1312 с.: ил.

  1. https://msdn.microsoft.com/ru-ru/

15

Приложения

Листинг кода методов OpenFile, CreatePlaylist и OpenPlaylist:

private void Button_OpenFile(object sender, RoutedEventArgs e)

{

OpenFileDialog open = new OpenFileDialog();

open.Filter = "Media files (*.mp3;*.avi;*.mp4)|*.mp3;*.avi;*.mp4|All files (*.*)|*.*";

if (open.ShowDialog() == true)

{

dispatcherTimer.Stop();

TimeSlider.Value = count = length = hours = min = sec = 0;

Media.Source = new Uri(open.FileName);

Name.Content = open.SafeFileName;

TimeSpan ts2 = new TimeSpan(0, 0, 0, 0, 0);

Media.Position = ts2;

starttrack();

Media.Play();

File[0] = open.FileName;

File[1] = open.SafeFileName;

dispatcherTimer.Start();

pause = stop = true;

pll = false;

}

}

private void Button_CreatePlaylist(object sender, RoutedEventArgs e)

{

var dlg = new CommonOpenFileDialog();

string folder = "";

dlg.Title = "Выберите папку для сохранения PlayList";

dlg.IsFolderPicker = true;

//dlg.InitialDirectory = currentDirectory;

dlg.AddToMostRecentlyUsedList = false;

dlg.AllowNonFileSystemItems = false;

//dlg.DefaultDirectory = currentDirectory;

dlg.EnsureFileExists = true;

dlg.EnsurePathExists = true;

dlg.EnsureReadOnly = false;

dlg.EnsureValidNames = true;

dlg.Multiselect = false;

dlg.ShowPlacesList = true;

if (dlg.ShowDialog() == CommonFileDialogResult.OK)

{

folder = dlg.FileName;

OpenFileDialog open = new OpenFileDialog();

open.Title = "Выберите файлы";

open.Multiselect = true;

16

open.Filter = "Media files (*.mp3;*.avi;*.mp4)|*.mp3;*.avi;*.mp4|All files (*.*)|*.*";

if (open.ShowDialog() == true)

{

byte i = 0;

foreach (string filename in open.SafeFileNames)

kolpl++;

PlayList pl = new PlayList();

pl.tracks = new String[kolpl];

pl.names = new String[kolpl];

pl.folder = folder;

pl.kol = kolpl;

foreach (string filename in open.FileNames)

{

pl.tracks[i] = filename;

i++;

}

i = 0;

foreach (string filename in open.SafeFileNames)

{

pl.names[i] = filename;

i++;

}

SaveFileDialog save = new SaveFileDialog();

save.Filter = "XML file (*.xml)|*.xml";

save.Title = "Введите имя PlayList";

if (save.ShowDialog() == true)

{

pl.title = save.SafeFileName;

var writer = new System.Xml.Serialization.XmlSerializer(typeof(PlayList));

var wfile = System.IO.File.Create(folder + "\\" + save.SafeFileName);

writer.Serialize(wfile, pl);

wfile.Close();

}

}

}

}

private void Button_OpenPlaylist(object sender, RoutedEventArgs e)

{

OpenFileDialog open = new OpenFileDialog();

open.Filter = "XML file (*.xml)|*.xml";

if (open.ShowDialog() == true)

{

dispatcherTimer.Stop();

TimeSlider.Value = count = length = hours = min = sec = 0;

var reader = new System.Xml.Serialization.XmlSerializer(typeof(PlayList));

var file = new System.IO.StreamReader(open.FileName);

plist = (PlayList)reader.Deserialize(file);

17

file.Close();

Media.Source = new Uri(plist.tracks[0]);

currenttr = 0;

Name.Content = plist.names[0];

TimeSpan ts2 = new TimeSpan(0, 0, 0, 0, 0);

Media.Position = ts2;

//starttrack();

Media.Play();

dispatcherTimer.Start();

pll = pause = stop = true;

Playlist.Items.Clear();

foreach (string filename in plist.names)

Playlist.Items.Add(filename);

Playlist.Visibility = Visibility.Visible;

AddTrack.Visibility = Visibility.Visible;

DeleteTrack.Visibility = Visibility.Visible;

Refresh.Visibility = Visibility.Visible;

openplm();

}

}

18

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]