Файл: Создание Медиаплеера на языке С++ (Теоретическая часть о языке с++).pdf
Добавлен: 28.03.2023
Просмотров: 146
Скачиваний: 3
СОДЕРЖАНИЕ
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ О ЯЗЫКЕ С++
2. РАЗРАБОТКА ЭСКИЗНОГО ПРОЕКТА ПРОГРАММЫ
2.1 Назначение и область применения
2.2 Технические характеристики
3. РАССТАНОВКА ЭЛЕМЕНТОВ УПРАВЛЕНИЯ
3.1 Разработка интерфейса программы
3.2 Изменение свойств кнопок управления
4. НАЗНАЧЕНИЕ КНОПКАМ ФУНКЦИОНАЛА
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{ MediaPlayer1->Play();}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{ MediaPlayer1->Pause();}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{ MediaPlayer1->Stop();}
//---------------------------------------------------------------------------
Главное достоинство в программе С++Builder 6 – это автоматическое включение всех заголовков и библиотек в нашу программу. Ничего не написав, но добавив элементы на форму, мы автоматически сгенерировали следующий код:
Листинг 4:
//----------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//----------------------------------------------------------------
#pragma package(smart_init)
#pragma link "sDialogs"
#pragma link "sTrackBar"
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------------------------------------------
Активируем открытие файлов. Для этого 2 раза щелкнем по кнопке «Open File…» и пропишем следующий код:
Листинг 5:
//----------------------------------------------------------------
void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{
if (sOpenDialog1->Execute())
//выбираем файл и подгружаем в MediaPlayer
{
MediaPlayer1->FileName=sOpenDialog1->FileName;
MediaPlayer1->Open();
}
ListBox1->Items->Add(sOpenDialog1->FileName);
//добавляем путь к файлу в ListBox
}
//----------------------------------------------------------------
Следующий элемент – регулятор громкости.
Листинг 6:
//----------------------------------------------------------------
void __fastcall TForm1::sTrackBar1Change(TObject *Sender)
{
sTrackBar1->Max = 65350;
waveOutSetVolume(0, MAKELONG(sTrackBar1->Position, sTrackBar1->Position));//регулируем громкость
}
//----------------------------------------------------------------
Наконец, последним элементом мы добавим окно закрытия программы, чтобы пользователь смог закрыть медиаплеер:
Листинг 7:
//событие формы OnClose
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
MediaPlayer1->Close();
5. ОКОНЧАТЕЛЬНЫЙ ВИД ПРОГРАММЫ И КОДА
5.1 Внешний вид и оформление
С кодом на данном этапе закончили, осталось найти подходящую картинку на фон плеера. Можно использовать из файлов программы C++ Builder6, как в случае с иконками управления воспроизведением.
Я решил использовать гугл картинки подходящей тематики.
Так же не лишним будет расставить элементы так, чтобы они смотрелись гармонично и не мешали друг другу. Можно переместить 2 невидимых глазу элемента (media player и sOpenDialog) за окно программы, чтобы освободить место и уменьшить плеер (рис. 7).
Рис. 7 Вид плеера
5.2 Окончательный вид кода
Листинг программы:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Player1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "sDialogs"
#pragma link "sTrackBar"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
Листинг программы (продолжение):
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{ MediaPlayer1->Play();}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{ MediaPlayer1->Pause();}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{ MediaPlayer1->Stop();}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{ if (sOpenDialog1->Execute())
//выбираем файл и подгружаем в MediaPlayer
{ MediaPlayer1->FileName=sOpenDialog1->FileName;
MediaPlayer1->Open(); }
ListBox1->Items->Add(sOpenDialog1->FileName);
//добавляем путь к файлу в ListBox}
//---------------------------------------------------------------------------
void __fastcall TForm1::sTrackBar1Change(TObject *Sender)
{ sTrackBar1->Max = 65350 ;
waveOutSetVolume(0, MAKELONG(sTrackBar1->Position, sTrackBar1->Position));//регулируем громкость}
//---------------------------------------------------------------------------
ЗАКЛЮЧЕНИЕ
В результате выполнения работы создана программа «Media Player».
Разработан интерфейс программы, алгоритм и программа согласно анализу технического задания.
Получившаяся программа является приложением начального уровня и обладает возможностью дальнейшего усовершенствования. Например, можно разработать дополнительное воспроизведение других форматов аудио файлов, разработать новый интерфейс - различные формы кнопок и другие задумки программиста.
Так же в программу можно добавить возможность воспроизведения видео файлов, наподобие оригинальной Windows Media Player.