Паскал - работа със звук - Училище N61 овск
Pascal ABC има модулЗвуци.
МодулътЗвуцисъдържа процедури и функции за работа със звук:
- n := LoadSound(fname)- зарежда звука от файла с име fname в RAM и връща звуковия дескриптор към целочислената променливаn(звуковият файл трябва да е във формат.wav);
- PlaySound(n)- започва възпроизвеждане на звук с дескрипторn;
- StopSound(n)- спира възпроизвеждането на звука с дескрипторn;
- RewindSound(n)- "превърта" звука с дескриптораnкъм началото;
- DestroySound(n)- изтрива звука с дескриптораnот RAM, звуковият дескриптор става невалиден;
- SoundIsPlaying(n)- връща True, ако се възпроизвежда звукът с дескрипторnиFalseв противен случай;
- SoundLength(n)- връща продължителността на звука с дескрипторnв милисекунди.
МодулътЗвуцисъщо съдържа класаЗвук, който има следния интерфейс:
Конструктори и деструктори | Създава обект от класаSoundи зарежда звука от файлаfnameв него (звуковият файл трябва да е във формат.wav). Звукът с името fname се търси първо в текущата директория, а след това в поддиректориятаMedia\Sounds\на програмната директорияPascalABC.exe. |
деструкторУнищожи; | Унищожава обекта и звука, който съдържа. |
Имоти | свойствоIsPlaying: boolean; |
По-удобно е да мислим за звуците като обекти от класаЗвук, който съдържа всички основни действия със звуци. Този подход е по-удобен и модерен от подхода на звуковия дескриптор. Единственият му недостатък е необходимостта от въвеждане на основните понятия, свързани с класовете. Дескрипторният подход ви позволява да работите със звуци непосредствено след темата "Процедури и функции" или дори по-рано, ако мислите за подпрограмите като просто за команди.
Пример за работа със звук с помощта на дескриптори
Пример за работа със звук с помощта на класаЗвук