ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ΄Π° прилоТСния

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Листинг 20 — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для чтСния Ρ‚Π΅Π³ΠΎΠ² ID3v2 ΠΈ ΠΎΡ‚обраТСния ΠΈΡ… Π² TabItem2 (см. ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2). Листинг 4 — объявлСниС основных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ основной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для чтСния Ρ‚Π΅Π³ΠΎΠ² (листинг 5). Листинг 17 — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для поиска Ρ„Π°ΠΉΠ»ΠΎΠ² Ѐункция для поиска Ρ‚ΠΎΠ»ΡŒΠΊΠΎ mp3-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΈ ΠΈΡ… ΠΎΡ‚сутствии (листинг 18). Листинг 19… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ΄Π° прилоТСния (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (листинг 1).

unit Unit1; //Π½Π°Π·Π²Π°Π½ΠΈΠ΅ модуля.

interface //опрСдСляСт внСшний интСрфСйс модуля.

uses //опрСдСляСт список ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ.

System.SysUtils, System. Types, System. UITypes,.

System.Classes, System. Variants, FMX. Types, FMX. Controls, FMX. Forms, FMX. Graphics, FMX. Dialogs, FMX. TabControl,.

FMX.StdCtrls, FMX.ListView.Types, FMX. ListView, FMX. Layouts, FMX. Media, FMX. Objects;

Листинг 1 — Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Бписок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π€ΠΎΡ€ΠΌΡ‹ создаСтся автоматичСски послС добавлСния этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ОбъявляСм названия ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ (см. ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2). ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для объСдинСния дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (листинг 3).

var Key: Word; var KeyChar: Char; //ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Shift: TShiftState);

procedure ImageRepeatClick (Sender: TObject);

Листинг 3 — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для объСдинСния дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ОбъявлСниС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для возвращСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ состояниС.

ОбъявлСниС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для чтСния Ρ‚Π΅Π³ΠΎΠ² (листинг 4).

public.

procedure StopClear ();

procedure ID3tags ();

end;

Листинг 4 — объявлСниС основных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ основной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для чтСния Ρ‚Π΅Π³ΠΎΠ² (листинг 5).

uses.

System.IOUtils, ID3v1Library, ID3v2Library;

Листинг 5 — ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Ρ‚Π΅Π³ΠΎΠ² присвоСна константа Nil — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ указатСля (листинг 6).

var.

PauseTime: integer = 0; // ΠΏΠ°ΡƒΠ·Π°.

ID3v1Tag: TID3v1Tag = nil;

ID3v2Tag: TID3v2Tag = nil;

Листинг 6 — объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для поиска Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС (листинг 17).

procedure TForm1. FormCreate (Sender: TObject);

var.

LList: TStringDynArray; // Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ список Ρ„Π°ΠΉΠ»ΠΎΠ².

LItem: TListViewItem; // список Ρ‚Ρ€Π΅ΠΊΠΎΠ² Π² ListView1.

path: string; // ΠΏΠ°ΠΏΠΊΠ° Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ поиск Ρ„Π°ΠΉΠ»ΠΎΠ².

i: Integer;

begin //Π½Π°Ρ‡Π°Π»ΠΎ Π±Π»ΠΎΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

{ // ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ для поиска }.

if TDirectory. Exists ('/storage/') then.

path := '/storage/'.

else path := '/sdcard/';

Листинг 17 — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для поиска Ρ„Π°ΠΉΠ»ΠΎΠ² Ѐункция для поиска Ρ‚ΠΎΠ»ΡŒΠΊΠΎ mp3-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΈ ΠΈΡ… ΠΎΡ‚сутствии (листинг 18).

{ // поиск mp3 Ρ„Π°ΠΉΠ»ΠΎΠ² }.

try //Π½Π°Ρ‡Π°Π»ΠΎ Π±Π»ΠΎΠΊΠ° инструкция для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ошибок.

LList:=TDirectory.GetFiles (path,'*.mp3', TSearchOption. soAllDirectories);

except.

ShowMessage ('НСт Ρ„Π°ΠΉΠ»ΠΎΠ² mp3!');

Exit;

end;

Листинг 18 — поиск mp3-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ListView1 (листинг 19).

{ // ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ списка Ρ‚Ρ€Π΅ΠΊΠΎΠ² }.

ListView1.BeginUpdate;

try.

for i := 0 to Length (LList) — 1 do.

begin.

LItem := ListView1.Items.Add;

// удалСния Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° LItem. Text:=TPath.GetFileNameWithoutExtension (LList[I]);

// ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π² Detail.

LItem.Detail := LList[I];

end;

finally.

ListView1.EndUpdate;

end;

Листинг 19 — ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (листинг 20).

procedure TForm1. FormKeyUp (Sender: TObject; var Key: Word; var KeyChar: Char;

Shift: TShiftState);

begin.

if Key = vkHardwareBack then.

begin.

if TabControl1. ActiveTab = TabItem2 then.

begin.

TabControl1.ActiveTab := TabItem1;

Key := 0;

end;

end;

end;

Листинг 20 — ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для чтСния Ρ‚Π΅Π³ΠΎΠ² ID3v2 ΠΈ ΠΎΡ‚обраТСния ΠΈΡ… Π² TabItem2 (см. ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2).

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для чтСния Ρ‚Π΅Π³ΠΎΠ² ID3v1 ΠΈ ΠΎΡ‚обраТСния ΠΈΡ… Π² TabItem2 (см. ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3).

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для отобраТСния Ρ‚Ρ€Π΅ΠΊΠΎΠ² ΠΈ ΠΈΡ… Π²Ρ‹Π±ΠΎΡ€Π° (листинг 23).

procedure TForm1. ListView1Change (Sender: TObject);

begin.

PlayClick (Self);

end;

Листинг 23 — Π²Ρ‹Π±ΠΎΡ€ Ρ‚Ρ€Π΅ΠΊΠ° ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠŸΠ°ΡƒΠ·Π°». ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ воспроизвСдСния, остановка Ρ‚Ρ€Π΅ΠΊΠ° (листинг 24).

procedure TForm1. PauseClick (Sender: TObject);

begin.

if (MediaPlayer1.State = TMediaState. Playing) then.

begin.

// Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя воспроизвСдСния Ρ‚Ρ€Π΅ΠΊΠ°.

PauseTime := MediaPlayer1.Media.CurrentTime;

// остановка проигрывания.

MediaPlayer1.Stop;

end;

end;

Листинг 24 — ΠΊΠ½ΠΎΠΏΠΊΠ° «ΠŸΠ°ΡƒΠ·Π°» .

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Play». Начало проигрывания Ρ‚Ρ€Π΅ΠΊΠ°, остановка Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, пСрСзапуск Ρ‚Ρ€Π΅ΠΊΠ±Π°Ρ€Π° для ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠΈ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΠ°ΡƒΠ·Ρƒ, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³ΠΎΠ², запуск Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ (см. ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 4).

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π΅ΠΊ». Если Π·Π° ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Ρ‚Ρ€Π΅ΠΊΠΎΠΌ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚Ρ€Π΅ΠΊ, ΠΊΠΎΠΌΠ°Π½Π΄Π° пСрСдаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π±Π»ΠΎΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Если Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° «Π‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ΅ воспроизвСдСниС», Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π΅ΠΊ, ΠΈΠ½Π°Ρ‡Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ случайный Ρ‚Ρ€Π΅ΠΊ.

Если Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° «ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ воспроизвСдСниС» (ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ вмСстС с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ «Π‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ΅ воспроизвСдСниС»), Π½ΠΎ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° «Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π΅ΠΊ», Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‚Ρ€Π΅ΠΊ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ сначала (см. ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 5).

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ‚Ρ€Π΅ΠΊ». Если ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Ρ‚Ρ€Π΅ΠΊΠΎΠΌ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Ρ‚Ρ€Π΅ΠΊΠΈ, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° пСрСдаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π±Π»ΠΎΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π˜Π½Π°Ρ‡Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ становятся Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ. Они Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚Ρ€Π΅ΠΊΠ° Π² ListView1 (листинг 27).

procedure TForm1. PlayPrevClick (Sender: TObject);

begin.

if (ListView1.ItemIndex-1) AND ListView1. ItemIndex > 0) then.

begin.

ListView1.ItemIndex := ListView1. ItemIndex — 1;

PauseTime := 0;

PlayClick (Self);

end.

else begin.

StopClear;

end;

end;

Листинг 27 — ΠΊΠ½ΠΎΠΏΠΊΠ° «ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ‚Ρ€Π΅ΠΊ» .

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ элСмСнтов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (листинг 28).

procedure TForm1. StopClear;

begin.

MediaPlayer1.Stop;

Timer1.Enabled := False;

ListView1.ItemIndex := -1;

TrackBar1.Value := 0;

TrackBar1.Enabled := False;

PauseTime := 0;

//Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ.

PlayPrev.Enabled := False;

Play.Enabled := False;

Pause.Enabled := False;

Stop.Enabled := False;

PlayNext.Enabled := False;

end;

Листинг 29 — Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π‘Ρ‚ΠΎΠΏ» (листинг 30).

procedure TForm1. StopClick (Sender: TObject);

begin.

if (MediaPlayer1.State = TMediaState. Playing) then.

begin.

StopClear;

end;

end;

Листинг 30 — ΠΊΠ½ΠΎΠΏΠΊΠ° «Π‘Ρ‚ΠΎΠΏ» .

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π΅ΠΊΠ±Π°Ρ€Π°. Π‘ΠΌΠ΅Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Ρ‚Ρ€Π΅ΠΊΠ±Π°Ρ€Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ воспроизвСдСния. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ проигрывания. ΠŸΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ проигрывания Ρ‚Ρ€Π΅ΠΊΠ°, начинаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ (см. ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 6).

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок ΠΏΡ€ΠΈ воспроизвСдСнии (листинг 32).

procedure TForm1. TrackBar1Change (Sender: TObject);

begin.

// свойство Tag ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Ρ„Π»Π°Π³, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.

// Ρ‚Ρ€Π΅ΠΊΠ±Π°Ρ€Π° ΠΈ MediaPlayer1. CurrentTime ΠΏΡ€ΠΈ воспроизвСдСнии.

if TrackBar1. Tag = 0 then.

begin.

// ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠŸΠ°ΡƒΠ·Ρƒ.

if (MediaPlayer1.State = TMediaState. Stopped) AND (PauseTime 0) then.

begin.

PauseTime := Round (TrackBar1.Value);

end.

else.

begin.

MediaPlayer1.CurrentTime:= Round (TrackBar1.Value);

end;

end;

end;

end.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ