русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

листинга процедуры


Дата добавления: 2015-07-09; просмотров: 534; Нарушение авторских прав


 

 
 

Листинг 2.2

Процедура TForm1.N4Click

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, MPlayer, ComCtrls,

MMSYSTEM, FileCtrl, Menus;

type

TForm1 = class(TForm)

// кнопки

SpeedButton1: TSpeedButton; // Предыдущая композиция

SpeedButton2: TSpeedButton; // Воспроизведение/Стоп

SpeedButton3: TSpeedButton; // Следующая композиция

SpeedButton4: TSpeedButton; // Выбор папки

ListBox1: TListBox; // Список песен(mp3 файлов)

MediaPlayer1: TMediaPlayer; // компонент медиа плеер

TrackBar1: TTrackBar; // регулятор громкости

Timer1: TTimer; //таймер

Label1: TLabel; //вывод названия текущего трека

Label2: TLabel; //вывод времени прошедшего с начала песни

Shape1: TShape;

ProgressBar1: TProgressBar;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem; // рамка вокруг кнопок

procedure FormCreate(Sender: TObject);

procedure ListBox1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure TrackBar1Change(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure Play; // воспроизведение

procedure PlayList(Path: string);

procedure N7Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N8Click(Sender: TObject); // формирует список MP3 файлов



private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

var

SoundPath: string[255];

min,sec: integer; // время воспроизведения

volume: LongWord;

// формирует список MP3 файлов

procedure TForm1.PlayList(Path: string);

var

lpBuf: PChar; // указатель на nul-terminated строку

sWinDir: string[128]; // обычная Паскаль строка

SearchRec: TSearchRec; //структура SearchRec содержит информацию

// о файле, удовлетворяющем условию поиска

begin

ListBox1.Clear;

// сформировать список mp3 файлов

if FindFirst(Path + '*.mp3', faAnyFile, SearchRec) =0 then

begin

// в каталоге есть файл с расширением WAV

// добавим имя этого файла в список

ListBox1.Items.Add(SearchRec.Name);

// пока в каталоге есть другие файлы с расширением WAV

while (FindNext(SearchRec) = 0) do

ListBox1.Items.Add(SearchRec.Name);

end;

ListBox1.ItemIndex := 0;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

PlayList('');

ListBox1.ItemIndex := 0;

Label1.Caption:=ListBox1.Items[ListBox1.itemIndex];

TrackBar1.Position := 7;

volume := (TrackBar1.Position - TrackBar1.Max+1)* 6500;

volume := volume + (volume shl 16);

waveOutSetVolume(WAVE_MAPPER,volume); // уровень сигнала

end;

 

// щелчок на названии произведения

procedure TForm1.ListBox1Click(Sender: TObject);

begin

label2.Caption:='0:00';

progressbar1.Position:=0;

 

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

if ListBox1.ItemIndex > 0 then

begin

ListBox1.ItemIndex := ListBox1.ItemIndex - 1;

label2.Caption:='0:00';

progressbar1.Position:=0;

end;

Play;

end;

 

// пользователь изменил положение

// регулятора громкости

procedure TForm1.TrackBar1Change(Sender: TObject);

begin

volume := 6500* (TrackBar1.Max - TrackBar1.Position);

volume := volume + (volume shl 16);

waveOutSetVolume(WAVE_MAPPER,volume);

end;

// воспроизвести композицию,

// название которой выделено

// в списке ListBox1

procedure TForm1.Play;

begin

Timer1.Enabled := False;

Label1.Caption:=ListBox1.Items[ListBox1.itemIndex];

MediaPlayer1.FileName := SoundPath + ListBox1.Items[ListBox1.itemIndex];

try

Mediaplayer1.Open;

except

on EMCIDeviceError do

begin

ShowMessage('Ошибка обращения к файлу '+

ListBox1.Items[ListBox1.itemIndex]);

SpeedButton2.Down := False;

exit;

end;

end;

MediaPlayer1.Play;

min :=0;

sec :=0;

Timer1.Enabled := True;

SpeedButton2.Hint := 'Стоп';

end;

 

 



<== предыдущая лекция | следующая лекция ==>
Ввод и вывод данных. Функции преобразования типов данных | Введение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.253 сек.