KNOW INTUIT, Лекция, Мултимедия в Delphi

Поставете панел в долната част на формата. Разтегнете го докрай надолу (Align = alBottom). Поставете друг панел отгоре, разтегнете го през останалата част от формата, това ще бъде екранът. Разбира се, свойствата на Caption и на двата панела трябва да бъдат изчистени.

След това ще инсталираме компонента Редактиране на долната форма, ще напишем името на качения файл в него. Можете веднага да зададете свойството ReadOnly на True, тъй като потребителят не трябва да редактира името на файла. И изчистете текста на този компонент.

След това се нуждаем от главно меню, за да можем да отворим . Създайте елемента "Файл" и под-елементите "Отвори", "-" и "Изход". Друг елемент „Помощ“ и подточка „Относно“.

Да се ​​върнем към компонента MediaPlayer. Както можете да видите, той се състои от поредица от бутони, които имат свои имена и цели. Освен това компонентът MediaPlayer има методи, които дублират тези бутони, което ви позволява да използвате компонента в два варианта - видим и невидим. В първия случай на потребителя се дава възможност да контролира възпроизвеждането директно от този компонент, във втория случай компонентът не се вижда и можем да обвържем методите му с нашите собствени бутони или елементи от менюто. Ще използваме първия метод.

Нека разгледаме бутоните отляво надясно, техните имена и предназначение. Имената и описанията на бутоните са дадени подробно в таблица 25.1:

Таблица 25.1. Имена и описания на бутонитена Mediaplayer Име на бутона Предназначение на бутона
играяВъзпроизвеждане
ПаузаПоставете на пауза възпроизвеждане или запис.
Спри сеСпрете възпроизвеждането или записа.
СледващияПреминете към следващата песен или до края.
предишнаОтидете напредишна песен или към началото.
стъпкаПридвижете се напред с посочения брой кадри.
обратноПридвижете се назад с определения брой кадри.
записЗапочнете записа.
ИзвадетеОсвободете обекта, зареден в устройството.

Всеки бутон, както вече споменахме, съответства на метод със същото действие и име. Тоест, натискането на бутона "Play" ще направи същото като командата

тоест за възпроизвеждане на избрания файл.

Нека анализираме свойствата на компонента.

AutoEnable . Това свойство разрешава или забранява автоматичното откриване на наличието на компонентни бутони. Например, ако няма устройство за освобождаване, тогава бутонът за изваждане ще бъде недостъпен.

Автоматично отваряне. Ако това свойство е зададено на True, тогава компонентът започва да възпроизвежда посочения файл веднага щом програмата се зареди. Въпреки това, когато проектирате, ще трябва незабавно да посочите името на файла. Ние правим плейър и не знаем предварително кой файл ще възпроизведе потребителят, така че ще го оставим във False.

EnableButtons. Свойство от падащо меню, където можем да посочим наличността или неналичността за всеки бутон.

Име на файл . Съдържа името на медийния файл. Ако го зададем трудно, тогава свойството AutoOpen може да бъде зададено на True и след това, когато програмата се зареди, файлът автоматично ще започне да се възпроизвежда. Но ще го оставим празен и ще предпишем файла програмно.

Видими бутони. Работи подобно на EnableButtons, само прави посочените бутони невидими.

От компонентните методи интересни са следните:

отворен. Отваря медийното устройство. Преди да възпроизведете файла, устройството трябва да се отвори.

DisplayRect . Методът определя размера и позицията на екрана. Товаметодът трябва да получи 4 цели числа като параметър.

близо. Затваря устройството.

Теорията приключи, нека да преминем към практиката. Нуждаем се също от компонент OpenDialog, така че потребителят да може да избере . В резултат на това трябва да получите следната форма:

intuit

Следователно в свойството Filter на компонента OpenDialog ще трябва да посочите подходящия филтър:

Нека веднага да обработим командата от менюто "Файл - Изход" и да напишем там

Сега ще имаме предвид, че потребителят може да затвори програмата с бутона и определено ще трябва да затворим компонента MediaPlayer. Затова създаваме манипулатор на събития onDestroy за формуляра и го затваряме там:

Сега създаваме манипулатор за командата от менюто "Файл - Отвори". Тук имаме предвид, че потребителят може да се опита да отвори файл с неподдържан формат. Тогава ще възникне грешка. Затова ще използваме блока за изключения

Този блок е различен от познатия ни

фактът, че в случай на грешка ще бъде изпълнен блокът изключение - край; , и ако няма грешка, блокът няма да бъде изпълнен. Във втория пример блокът finally е край; така или иначе ще бъде изпълнено. И така, нашият код за обработка на командата от менюто "Файл - Отвори":

И така, какво става тук? Ако диалогът с потребителя не се проведе, тогава излизаме от процедурата, без да правим нищо. В противен случай отворете блока за опит - освен - край. Ако възникне грешка между опит и изключение (потребителят се опитва да отвори файл с неподдържан формат), тогава ще се изпълни блокът между изключение - край, в който обясняваме на потребителя, че е имало грешка при отварянето на файла.

След това показваме името на избрания файл в Edit1, след което присвояваме същия файл на медийния плейър. След това отваряме плейъра. Линия

За да се оправиВ този случай потребителят ще трябва да промени размера на формуляра с мишката. Освен ако не предоставим на потребителя възможност да преоразмерява екрана, изображението няма да се преоразмерява. Нека създадем събитие onResize за формуляра, което се случва всеки път, когато потребителят промени размера на формуляра, и дублираме горния ред там.

Запазете проекта, компилирайте го и вижте как работи.

Стандартните звуци на Windows могат да бъдат намерени в папката