Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Delphi. Π’Ρ€ΡŽΠΊΠΈ ΠΈ эффСкты». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 23

Автор Π’Π°Π»Π΅Ρ€ΠΈΠΉ Борисок

//Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ элСмСнтов Π² ListView с большими ΠΈ ΠΌΠ°Π»Ρ‹ΠΌΠΈ Π·Π½Π°Ρ‡ΠΊΠ°ΠΌΠΈ

for i := 0 to ImageListLg.Count – 1 do

begin

item := lvwIconsLg.Items.Add();

item.Caption := \'Icon\' + IntToStr(i+1);

item.ImageIndex := i;

item := lvwIconsSm.Items.Add();

item.Caption := \'Icon\' + IntToStr(i+1);

item.ImageIndex := i;

end;

end;

ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° элСмСнтов управлСния ListView: для отобраТСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π½Π°Ρ‡ΠΊΠΎΠ² – lvwIconLg ΠΈ для отобраТСния ΠΌΠ°Π»Ρ‹Ρ… lvwIconSm. На Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ располоТСны Π΄Π²Π° элСмСнта управлСния ImageList: ImageListLg для хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈ ImageListSm для хранСния ΠΌΠ°Π»Ρ‹Ρ… Π·Π½Π°Ρ‡ΠΊΠΎΠ².

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΊΠ½Π° Object Inspector список ImageListLg Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π² качСствС источника Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (свойство Largelmages) для lvwIconLg. БоотвСтствСнно, список ImageListSm Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π² качСствС источника ΠΌΠ°Π»Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (свойство Smalllmages) для lvwIconSm.

Π“Π»Π°Π²Π° 5 ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°

β€’ Π’оспроизвСдСниС Π·Π²ΡƒΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмного Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°

β€’ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° MediaPlayer

β€’ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Animate

β€’ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ проигрыватСля

β€’ Π’ΠΈΠ΄Π΅ΠΎΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ

ИспользованиС ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ качСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ ΠΈΠΌ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄, Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘Ρ€Π΅Π΄ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ интСрСсны аудио– ΠΈ видСовозмоТности ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ИспользованиС Π·Π²ΡƒΠΊΠΎΠ² ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… позволяСт ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ: ΠΎΠ·Π²ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ дСйствия, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… событиях, ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΡ€ΠΎΠ»ΠΈΠΊΠΈ ΠΈ Ρ‚. ΠΏ.

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π³Π»Π°Π²Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны основныС возмоТности ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Ρ… срСдств ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² срСды Delphi. Π‘ΡƒΠ΄ΡƒΡ‚ описаны ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Animate ΠΈ MediaPLayer, использованиС API-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π²ΡƒΠΊΠ° систСмным Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠΌ ΠΈ для воспроизвСдСния Π·Π²ΡƒΠΊΠ° ΠΈΠ· рСсурсных Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ языков Turbo Pascal ΠΈ Borland Pascal, Delphi Π½Π΅ содСрТит ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Ρ‚ΠΈΠΏΠ° Sound ΠΈ NoSound, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π·Π²ΡƒΠΊΠΎΠΌ. Для использования ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Ρ… возмоТностСй ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π² Delphi слуТат ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Animate ΠΈ MediaPLayer.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ MediaPLayer являСтся основным элСмСнтом воспроизвСдСния аудио– ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡ„Π°ΠΉΠ»ΠΎΠ². ΠœΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт MediaPLayer ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ рядом Π²Π°ΠΆΠ½Ρ‹Ρ… характСристик (свойств) ΠΈ обСспСчиваСт ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹ΠΌΠΈ устройствами.

Для создания ΠΈ воспроизвСдСния ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Animate. Он позволяСт Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ AVI (Audio-Video Interleaved – Аудио– ΠΈ видСосмСсь).

5.1. ВоспроизвСдСниС Π·Π²ΡƒΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмного Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°

Π—Π²ΡƒΠΊΠΎΠ²ΠΎΠ΅ сопровоТдСниС являСтся Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° соврСмСнных ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… случаях Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ сигнала ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π’Π΅Π΅Ρ€ модуля SysUtils. Π’ этом случаС Π½Π΅Ρ‚ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ языка, Π° Π·Π²ΡƒΠΊ создаСтся встроСнным систСмным Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠΌ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’Π΅Π΅Ρ€ осущСствляСт Π²Ρ‹Π·ΠΎΠ² ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠΉ API-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, поэтому Π΅Π΅ использованиС Π½Π΅ составит большого Ρ‚Ρ€ΡƒΠ΄Π° (листинг 5.1).

...

Листинг 5.1.

ГСнСрация Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ сигнала посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’Π΅Π΅Ρ€

procedure TForm1.Button1Click(Sender: TObject);

begin

Beep; //ГСнСрация Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ сигнала

MessageDlg(\'Π—Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ сигнал Π±Ρ‹Π» ΠΏΠΎΠ΄Π°Π½\', mtError, [mbOK], 0);

end;

Наряду с Π’Π΅Π΅Ρ€ для получСния Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ сигнала ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ API-функция MessageBeep (uType: UINT): Boolean, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ стандартный систСмный Π·Π²ΡƒΠΊ, Ρ‚ΠΈΠΏ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ uType. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ MessageBeep ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ двумя способами: Π² Π²ΠΈΠ΄Π΅ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ числа ΠΈΠ»ΠΈ ΠΏΠΎΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΉ константы. НапримСр, систСмный Π·Π²ΡƒΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ задаСтся константой ΠœΠ’_ОК, Π° стандартный систСмный Π·Π²ΡƒΠΊ задаСтся ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌ числом $ FFFFFFFF. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Boolean, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния (воспроизвСдСния Π·Π²ΡƒΠΊΠ°) Ρ€Π°Π²Π΅Π½ True.

5.2. ИспользованиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° MediaPlayer

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ Media Player являСтся ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ элСмСнтом. Он прСдставляСт программисту Π½Π°Π±ΠΎΡ€ свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ устройствами ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ воспроизвСдСниС ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„ΠΎΠ½ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ (Π΄ΠΎΡ€ΠΎΠΆΠΊΠ°ΠΌΠΈ, записями), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ устройства.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ MediaPlayer содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ (рис. 5.1, слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ).

β€’ Play – воспроизвСдСниС.

β€’ Pause – ΠΏΠ°ΡƒΠ·Π°.

β€’ Stop – остановка.

β€’ Next – ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΠ½ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (Π΄ΠΎΡ€ΠΎΠΆΠΊΠ΅). Для случая ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΎΠ½ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выполняСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Π΅Π΅ ΠΊΠΎΠ½Π΅Ρ†.

β€’ Prev – ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ„ΠΎΠ½ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Для случая ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΎΠ½ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выполняСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Π΅Π΅ Π½Π°Ρ‡Π°Π»ΠΎ.

β€’ Step – ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° нСсколько ΠΊΠ°Π΄Ρ€ΠΎΠ² Π²ΠΏΠ΅Ρ€Π΅Π΄.

β€’ Back – Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π° нСсколько ΠΊΠ°Π΄Ρ€ΠΎΠ² Π½Π°Π·Π°Π΄.

β€’ Record – Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° записи.

β€’ Eject – ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ носитСля.

Рис. 5.1. Π’ΠΈΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° MediaPlayer

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ MediaPlayer ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ рядом свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ воспроизвСдСниСм Ρ„Π°ΠΉΠ»ΠΎΠ².

β€’ AutoOpen – опрСдСляСт, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π»ΠΈ устройство автоматичСски ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ сразу послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

β€’ AutoRewind – Ссли Ρ€Π°Π²Π½ΠΎ True, Ρ‚ΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ воспроизвСдСния Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ.

β€’ DeviceType – опрСдСляСт Ρ‚ΠΈΠΏ устройства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ MediaPlayer. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

– dtAVIVideo – Ρ„Π°ΠΉΠ» AVI;

– dtCDAudio – Π°ΡƒΠ΄ΠΈΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-диски;

– dtDAT – Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ кассСтный Π°ΡƒΠ΄ΠΈΠΎΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ;

– dtDigitalVideo – Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ (AVI, MPG, MOV-Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ММ-Ρ„ΠΈΠ»ΡŒΠΌ);

– dtMMMovie – Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ multimedia movie;

– dtOther – Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚;

– dtSequencer – MIDI-Ρ„Π°ΠΉΠ»;

– dtVCR – Π²ΠΈΠ΄Π΅ΠΎΠΌΠ°Π³Π½ΠΈΡ‚ΠΎΡ„ΠΎΠ½;

– dtVideodisc – ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ видСодисков;

– dtWaveAudio – Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Ρ„Π°ΠΉΠ» Ρ‚ΠΈΠΏΠ° WAV;

– dtAutoSelect – ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ устройство автоматичСски, устанавливаСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

β€’ Display – Π·Π°Π΄Π°Π΅Ρ‚ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ элСмСнт, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ воспроизвСдСниС Π²ΠΈΠ΄Π΅ΠΎΠ΄Π°Π½Π½Ρ‹Ρ…. Если свойство Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

β€’ DisplayRec – Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ для воспроизвСдСния Π΄Π°Π½Π½Ρ‹Ρ….

β€’ EnableButtons – опрСдСляСт Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅.

β€’ StartPos – опрСдСляСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ для воспроизводимых Π΄Π°Π½Π½Ρ‹Ρ…. Если Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, Ρ‚ΠΎ воспроизвСдСниС ΠΈΠ΄Π΅Ρ‚ сначала.

β€’ EndPos – опрСдСляСт ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ для воспроизвСдСния Π΄Π°Π½Π½Ρ‹Ρ…. Если Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, Ρ‚ΠΎ воспроизвСдСниС ΠΈΠ΄Π΅Ρ‚ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.

β€’ Position – тСкущая позиция ΠΏΡ€ΠΈ воспроизвСдСнии.

β€’ Tracks – опрСдСляСт количСство Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ для ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дисков.

β€’ Frames – опрСдСляСт число ΠΊΠ°Π΄Ρ€ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ пСрСмСщаСтся позиция устройства ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Back ΠΈ Next.

β€’ Length – Π΄Π»ΠΈΠ½Π° Ρ„Π°ΠΉΠ»Π° (носитСля).

β€’ TimeFormat – устанавливаСт Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ устройством.

β€’ Wait – опрСдСляСт, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ»ΠΈ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ воспроизвСдСния.

Одним ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… свойств являСтся Capabilities Ρ‚ΠΈΠΏΠ° TMPDevCapsSet, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ возмоТности Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ устройства. Π­Ρ‚ΠΎ свойство ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

β€’ mpCanE j ect – ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ носитСля;

β€’ mpCanPlay – воспроизвСдСниС;

β€’ mpCanRecord – запись Π½Π° Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ;

β€’ mpCanStep – ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ»ΠΈ Π½Π°Π·Π°Π΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ количСства ΠΊΠ°Π΄Ρ€ΠΎΠ²;

β€’ mpUsedWindow – использованиС ΠΎΠΊΠ½Π° для Π²Ρ‹Π²ΠΎΠ΄Π° изобраТСния.

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм устройства Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Play ΠΈ StartRecording, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС открытия устройства. Оно выполняСтся ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Open (листинг 5.2). Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ автоматичСскоС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ устройства, Ρ‚ΠΎ свойству AutoOpen Ρ‚ΠΈΠΏΠ° Boolean слСдуСт ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Fal s Π΅). ПослС открытия ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ устройства свойство Devi s Π΅ ID Ρ‚ΠΈΠΏΠ° Wo Π³ d проигрыватСля опрСдСляСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ этого устройства. Если ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… устройств Π½Π΅Ρ‚, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства DeviselD Ρ€Π°Π²Π½ΠΎ 0....

Листинг 5.2.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ проигрыватСля ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дисков

procedure TForm1.Button2Click(Sender: TObject);

begin

//Π—Π°Π΄Π°Π΅ΠΌ устройство воспроизвСдСния

MyMediaPlayer.DeviceType := dtCDAudio;

//ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ устройство

MyMediaPlayer.Open;

end;

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ использования ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ устройства Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ, Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Close.

ПослС открытия устройства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Tracks Ρ‚ΠΈΠΏΠ° Longint ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ количСствС Ρ„ΠΎΠ½ΠΎΠ³Ρ€Π°ΠΌΠΌ (Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ). Если устройство Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого свойства Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ. Бвойство TrackLength ITrackNum: Integer] Ρ‚ΠΈΠΏΠ° Longint содСрТит Π΄Π»ΠΈΠ½Ρƒ Ρ„ΠΎΠ½ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с индСксом TrackNum (отсчСт начинаСтся с Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹). Π”Π»ΠΈΠ½Π° Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ указываСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ свойством TimeFormat.

Бвойство TimeFormat Ρ‚ΠΈΠΏΠ° TMPTimeFormats Π·Π°Π΄Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. Оно влияСт Π½Π° способ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΈΡ… свойств, ΠΊΠ°ΠΊ TrackLength, Length, StartPos, EndPos ΠΈ Position. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ значСниями свойства TimeFormat ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅.

β€’ tfMilliseconds – Ρ†Π΅Π»ΠΎΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ число, счСтчик миллисСкунд.

β€’ tfHMS – количСство часов, ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ сСкунд, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ±Π°ΠΉΡ‚Π½ΠΎ, начиная с младшСго Π±Π°ΠΉΡ‚Π°, Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΌ Ρ†Π΅Π»ΠΎΠΌ. Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ Π½Π΅ учитываСтся.