Создание музыкального проигрывателя средствами С++
Краткое сожержание материала:
Размещено на
Лабораторная работа №8
Аудио проигрыватель
Выполнил:
Студент группы ДС 71
Грабовый Александр
2009
Поставим на форму следующие компоненты:
MainMenu (Закладка Standard)
PopupMenu (Закладка Standard)
ListBox (Закладка Standard)
Panel (Закладка Standard)
Label (Закладка Standard) - поместим на форму 6 штук
MediaPlayer (Закладка System)
Timer (Закладка System) - 2 штуки
OpenDialog (Закладка Dialogs)
TrackBar (Закладка Win32)
Для упрощения программы опцию Name для всех элементов оставляем стандартной (в редких случаях я ее все-таки менял для сокращения).
MainMenu
Этот не визуальный компонент используется для создания главного меню на форме.
Создадим закладку File (Caption = &File), а в ней 2 кнопки: Add (Caption = &Add) и Exit (Caption = &Exit). Это можно сделать перейдя в опцию Items.
Add будет добавлять в список воспроизведения музыкальный файл. Код для этой кнопки пропишем позже.
Выход из программы будет осуществлятся при нажатии клавиши Exit.
PopupMenu
Это не визуальный компонент, который используется для создания контекстного меню.
Переходим в опцию Items и добавляем 3 элемента:
Add - будет добавлять в список воспроизведения музыкальный файл.
Delete - будет удалять из списка воспроизведения выделенный файл.
Review
Для этого элемента выставим:
Checked = true
Name = Rew
Этот элемент будет определять повторение воспроизведения. Повторение возможно если элемент отмечен.
Для формы выставим опцию
PopupMenu = PopupMenu1
ListBox
Визуальный компонент для отображения списков строк. Этот элемент будем использовать в качестве списка воспроизведения. С диалогового окна открытия файла сюда будет поступать путь к файлу, а потом отсюда путь будет отправляться в проигрыватель.
Выставим следующие опции:
ShowHint = true
Hint = PlayList
Теперь, когда мы наведем курсор на ListBox в работающей программе, будет появляться надпись «PlayList».
Выставим для ListBox опцию
PopupMenu = PopupMenu1
Panel and Labels
Ставим метки в следующей последовательности и выставляем для них
Caption:
(Label2) Caption = Сейчас проигрывается:
(Label3) Caption =
(Label4) Caption = Продолжительность:
(Label1) Caption =
(Label5) Caption = Времени осталось:
(Label6) Caption =
Порядок меток у меня не совпал из-за многих перестановок в программе и т.п. Чтобы не переделывать код я не стал их сортировать.
MediaPlayer
Этот компонент используется для проигрывания аудио и видео файлов. Он имеет стандартные кнопки для управления файлами мультимедиа. Элемент может использоваться и без стандартной панели, а с помощью соответствующих команд:
MediaPlayer1->Play();
MediaPlayer1->Pause();
MediaPlayer1->Stop();
И т.п.
В этой работе нам понадобятся только 3. Будем использовать стандартные клавиши. Выставим следующие опции:
Переходим в Visible Buttons:
btPlay = true
btPause = true
btStop = true
все остальные в false
Так же обратим внимание на опцию Display. Эта опция определяет положения окна воспроизведения при проигрывании видео файлов. Оставим эту опцию пустой. В случае если будет открыт видео файл, то программа его проиграет в отдельном окне, если на это не надо будут дополнительные кодеки. Можно поставить это окно в какой-то элемент, например ListBox.
Timers
Timer - не визуальный компонент основной опцией которого является interval. А действие OnTimer которое определяет действие по истечению времени равного заданному в interval (время задается в миллисекундах)
Ставим для обеих таймеров опции:
Enabled = false
Interval = 1000
OpenDialog
Это не визуальный компонент, который вызывает стандартное окно windows для открытия файлов.
Для этого компонента все опции будем использовать равные по умолчанию.
TrackBar
Компонент, имеющий вид ползунка, который может перемещаться мышкой или клавишами во время исполнения. Этот элемент будем использовать для управления громкостью.
Выставим следующие опции для него:
Orientation = trVertical
Max = 0
Min = -65535
ThumbLength = 10
TickMarks = tmBoth
Frequency = 8192
ShowHint = true
Hint = Volume
Готовая форма будет иметь вид:
меню файл воспроизведение плеер аудио
Теперь пропишем код на действия элементов:
Для начала огласим переменные:
int index, key, ms, ms1, t=0;
так же создадим функцию для регуляции громкости:
union TVolume {
unsigned long Volume;
struct
{
Word Left;
Word Right;
};
} volume;
MainMenu
Для кнопки Add ставим действие OnClick и прописываем туда код:
// ----- добавление в список
if (OpenDialog1->Execute())
{
ListBox1->Items->Add(OpenDialog1->FileName);
if (ListBox1->Items->Count==1){
MediaPlayer1->FileName=ListBox1->Items->Strings[0];
MediaPlayer1->Notify=true; }
Для кнопки Exit на действие OnClick пишем:
Close();
PopupMenu
Add OnClick:
// ----- добавление в список
if (OpenDialog1->Execute())
{
ListBox1->Items->Add(OpenDialog1->FileName);
if (ListBox1->Items->Count==1){
MediaPlayer1->FileName=ListBox1->Items->Strings[0];
MediaPlayer1->Notify=true; }
Delete OnClick:
ListBox1->Items->Delete(ListBox1->ItemIndex);
Review OnClick:
if (Form1->Rew->Checked==true)
Form1->Rew->Checked=false;
else
Form1->Rew->Checked=true;
ListBox
Действие OnDblClick:
index = ListBox1->ItemIndex;
MediaPlayer1->Stop();
MediaPlayer1->FileName=ListBox1->Items->Strings[index];
MediaPlayer1->Open();
MediaPlayer1->Notify=true;
MediaPlayer1->Play();
// это действие обеспечит нам проигрывание файла по двойному клику на нем.
MediaPlayer
Действие OnClick:
key = 0;
// ------считываем со списка
if (ListBox1->ItemIndex<0)
index = 0;
else
index = ListBox1->ItemIndex;
MediaPlayer1->FileName=ListBox1->Items->Strings[index];
MediaPlayer1->Open();
MediaPlayer1->Notify=true;
// ---------ПОКАЗ ВРЕМЕНИ ПРОИГРЫВАЕМОГО ФАЙЛА
MediaPlayer1->TimeFormat=tfMilliseconds;
ms= MediaPlayer1->Length;
Label1->Caption=IntToStr((ms/1000)/60)+ " мин." +
" " + IntToStr((ms/1000) %60) + " секунд";
Label3->Caption=ListBox1->Items->Strings[index];
// ---- переход на след. фаил по окончанию
Timer1->Interval=ms;
Timer1->Enabled=true;
Timer2->Enabled=true;
Timer1
Действие OnTimer:
MediaPlayer1->Stop();
if (index<ListBox1->Items->Count-1)
index=index+1;
else
{
if (Form1->Rew->Checked==true)
index=0;
else {
key =1;
Timer1->Enabled=false;
Timer2->Enabled=false;}
}
if (key !=1) {
MediaPlayer1->FileName=ListBox1->Items->Strings[i...
Технология ремонта музыкального центра марки AIWA
Структурная схема музыкального центра и электрическая принципиальная схема проигрывателя компакт дисков. Меры предосторожности при обслуживании CD про...
Создание МП3-плеера с функциями обычного проигрывателя
Сравнительная характеристика программ-аналогов. Разработка мультимедиа-проигрывателя по систематизированной обработке музыкальных файлов. Создание удо...
Service manual BBK9903S
В официальной сервисной инструкции по ремонту на DVD проигрывателя BBK9903S приведены принципиальная схема проигрывателя, инструкция по разборке и сбо...
Создание проигрывателя MP3 Player
Характерные особенности мультимедиа-технологий. Особенности разработки мультимедиа-проигрывателя. Анализ удобного пользовательского интерфейса, эквала...
формирование духовной культуры школьников средствами музыкального искусства
Теоретические основы формирования духовной культуры школьников средствами музыкального искусства. Анализ музыкально-педагогического наследия о роли му...