MP3 проигрыватель на языке высокого уровня C#
SaveFileDialog1. ShowDialog (); — Диалоговое окно для сохранения плейлиста. Open. Filter = «Плейлист (*.pls)|*.pls|Текстовый документ (*.txt)|*.txt»; PlayListLB. Items. Remove (playListLB. SelectedItem); — Удаление из плейлиста. Wmp.controls.currentPosition = trackBar. Value; — Текущая позиция ползунка. If ((openFileDialog1. ShowDialog () == DialogResult. OK) && (openFileDialog1. FilterIndex… Читать ещё >
MP3 проигрыватель на языке высокого уровня C# (реферат, курсовая, диплом, контрольная)
Курсовая работа
MP3 проигрыватель на языке высокого уровня C#
пользователь интерфейс программирование
Объект исследования — обработка и воспроизведение MP3 (*.mp3) файлов.
Цель работы — программная реализация настольного приложения с использованием языка программирования C#. Систематизация знаний полученных в процессе изучения курса «Объектно-ориентированное программирование».
Программа была написана с использованием языка программирования C# и среды разработки Microsoft Visual Studio 2010, также была использована библиотека Windows Media Player (wmp.dll).
1. Техническое задание
Основание для разработки: Углубление знаний языка программирования С#.
Назначение разработки: Создание программного обеспечения для воспроизведения аудиофайлов в формате MP3.
Требования к программному средству:
Программа должна открывать и воспроизводить аудиофайлы в формате mp3. Добавлять и удалять треки из плейлиста. Сохранять и открывать плейлисты. Также должна быть возможность приостанавливать и останавливать воспроизводимый файл. Перематывать дорожку и регулировать громкость.
Этапы разработки:
· Разработка технического задания.
· Проектирование пользовательского интерфейса.
· Написание кода, тестирование, исправление ошибок.
2. Проектирование пользовательского интерфейса
Главное окно программы
Реализация
Основные методы и свойства:
· wmp.settings.volume = volumeBar. Value; - Регулирование громкости.
· wmp.controls.play (); - Воспроизвести файл.
· wmp.controls.pause (); - Приостановить файл.
· wmp.controls.stop (); - Остановить файл.
· wmp.controls.currentPosition = trackBar. Value; - Текущая позиция ползунка.
· wmp.currentMedia.duration — Продолжительность файла.
· wmp.status. ToString (); - Статус файла.
· openFileDialog1. ShowDialog (); - Диалоговое окно для добавления файлов в плейлист.
· playListLB. Items. Remove (playListLB. SelectedItem); - Удаление из плейлиста.
· saveFileDialog1. ShowDialog (); - Диалоговое окно для сохранения плейлиста.
· open. ShowDialog (); - Диалоговое окно для открытия плейлиста.
3. Руководство пользователя
Главная форма содержит все элементы интерфейса и даёт доступ ко всем функциям программы.
Форма содержит плейлист и кнопки, с помощью которых осуществляются все операции.
Форма содержит следующие ЭУ:
· «Воспроизвести» кнопка, по нажатию которой воспроизводится первый файл из списка или приостановленный файл.
· Если плейлист пуст, то выводится соответствующее сообщение:
· «Пауза» кнопка, по нажатию которой воспроизводимый файл приостанавливается на текущей позиции.
· «Стоп» кнопка, по нажатию которой файл останавливается и ползунок принимает изначальное положение в начале trackBar’а.
· «+» — добавить, «-» — удалить. Кнопки по нажатию, на которые файл в плейлист добавляется или удаляется.
· «Открыть» кнопка по нажатию которой открывается диалоговое окно для выбора и открытия плейлиста.
· «Сохранить» кнопка по нажатию на который открывается диалоговое окно для сохранения плейлиста.
· Плейлист — список содержащий пути к воспроизводимым файлам. Где файлы сменяют друг друга автоматически.
Заключение
В данном курсовом проекте был разработан MP3 проигрыватель, который включает следующие возможности:
· Возможность воспроизведения, остановки и приостановки mp3 файла;
· Перематывание песни на любой промежуток времени;
· Отображение общей длительности песни;
· Возможность регулирования громкости;
· Создание и открытия плейлиста;
При разработке ПО был использован язык программирования С#. Также были получены новые навыки и возможности.
Приложение
using System;
using System. Windows. Forms;
using WMPLib;
using System. IO;
namespace A_Player
{
public partial class Form1: Form
{
public Form1 ()
{
InitializeComponent ();
}
WindowsMediaPlayer wmp = new WindowsMediaPlayer ();
private void Form1_Load (object sender, EventArgs e)
{
wmp.settings.volume = volumeBar. Value;
}
private void btnPlay_Click (object sender, EventArgs e)
{
if (playListLB. Items. Count == 0)
{
MessageBox. Show («Плейлист пуст»);
}
else
{
if (wmp.URL == null)
{
playListLB. SelectedIndex = 0;
wmp.URL = playListLB. SelectedItem. ToString ();
wmp.controls.play ();
}
else
{
wmp.controls.play ();
}
}
}
private void btnPause_Click (object sender, EventArgs e)
{
wmp.controls.pause ();
}
private void btnStop_Click (object sender, EventArgs e)
{
wmp.controls.stop ();
}
private void volumeBar_Scroll (object sender, EventArgs e)
{
wmp.settings.volume = volumeBar. Value;
toolTip1. SetToolTip (volumeBar, volumeBar. Value. ToString ());
}
private void trackBar_Scroll (object sender, EventArgs e)
{
wmp.controls.currentPosition = trackBar. Value;
toolTip1. SetToolTip (trackBar, wmp.controls.currentPositionString);
}
private void timer1_Tick (object sender, EventArgs e)
{
trackBar. Maximum = Convert. ToInt32 (wmp.currentMedia.duration);
trackBar. Value = Convert. ToInt32 (wmp.controls.currentPosition);
lblPositionTime. Text = wmp.controls.currentPositionString;
lblDurationTime. Text = wmp.currentMedia.durationString;
if (playListLB. SelectedIndex≠ playListLB. Items. Count — 1)
{
if (trackBar. Value + 1 == trackBar. Maximum)
{
playListLB. SelectedIndex = playListLB. SelectedIndex + 1;
wmp.URL = playListLB. SelectedItem. ToString ();
timer1. Enabled = true;
}
}
toolStripStatusLabel1. Text = wmp.status. ToString ();
}
private void btnAddTrack_Click (object sender, EventArgs e)
{
if ((openFileDialog1. ShowDialog () == DialogResult. OK) && (openFileDialog1. FilterIndex == 1))
{
for (int i = 0; i < openFileDialog1. FileNames. Length; i++)
{
playListLB. Items. Add (openFileDialog1. FileNames[i]);
}
if (playListLB. SelectedItems. Count == 0)
{
playListLB. SelectedIndex = 0;
wmp.URL = playListLB. SelectedItem. ToString ();
timer1. Enabled = true;
}
}
}
private void playListLB_MouseDoubleClick (object sender, MouseEventArgs e)
{
try
{
if (wmp.URL≠ playListLB. SelectedItem. ToString ())
{
wmp.URL = playListLB. SelectedItem. ToString ();
timer1. Enabled = true;
}
}
catch
{
}
}
private void btnDelTrack_Click (object sender, EventArgs e)
{
if (wmp.URL == playListLB. SelectedItem. ToString ())
{
wmp.controls.stop ();
wmp.URL = ««;
}
playListLB. Items. Remove (playListLB. SelectedItem);
}
private void btnSavePL_Click (object sender, EventArgs e)
{
if (saveFileDialog1. ShowDialog () == DialogResult. OK)
{
StreamWriter sw = File. CreateText (saveFileDialog1. FileName);
if (saveFileDialog1. FilterIndex == 1 || saveFileDialog1. FilterIndex == 2)
{
for (int i = 0; i < playListLB. Items. Count; i++)
{
playListLB. SelectedIndex = i;
sw. WriteLine (playListLB. SelectedItem. ToString ());
}
}
sw. Close ();
}
}
private void btnOpenPL_Click (object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog ();
open. Filter = «Плейлист (*.pls)|*.pls|Текстовый документ (*.txt)|*.txt»;
if (open. ShowDialog () == DialogResult. OK)
{
StreamReader sr = File. OpenText (open. FileName);
if (open. FilterIndex == 1 || open. FilterIndex == 2)
{
while (sr. EndOfStream≠ true)
{
playListLB. Items. Add (sr. ReadLine ());
}
}
sr. Close ();
}
}
}
}