1) ReadSample(Number, Channel: LongInt; var Value: Integer) – процедура чтения данных из звукового файла;
2) WriteSample(Number, Channel: LongInt; Value: Integer) – процедура записи данных в звуковой файл.
Схема подпрограммы «SetVolumeOfAudio» приведена на рис. 2.20.
| Имена переменных | Тип | Описание | 
| i | integer | Переменная-счетчик | 
| MaxValue | Cardinal | Макс. значение ампли-туды в обрабатываемом фрагменте | 
| Value | Cardinal | Текущее значение амплитуды | 
| Channel | Word | Количество каналов | 
| FinalVolume | Real | Значение амплитуды в конце обрабатываемого фрагмента | 
Описание входных данных подпрограммы представлено в табл.2.11.
Таблица 2.11
Входные данные подпрограммы «ReChangeVolumeOfAudio»
| Имена переменных | Тип | Описание | 
| AudioData | TAudioData | Передаваемая исходная совокупность значений амплитуд и времен | 
| Start | Cardinal | Стартовая позиция, с которой необходимо начать обработку | 
| Count | Cardinal | Количество позиций, которые необходимо обработать относительно стартовой | 
Выходные данные подпрограммы:
AudioData – измененная совокупность значений амплитуд и времен с примененным эффектом возрастающей громкости.
В подпрограмме используются следующие подпрограммы:
1) ReadSample(Number, Channel: LongInt; var Value: Integer) – процедура чтения данных из звукового файла;
2) WriteSample(Number, Channel: LongInt; Value: Integer) – процедура записи данных в звуковой файл.
Схема подпрограммы «ReChangeVolumeOfAudio» приведена на рис. 2.21.
| Имена переменных | Тип | Описание | 
| i | integer | Переменная-счетчик | 
| MaxValue | Cardinal | Макс. значение ампли-туды в обрабатываемом фрагменте | 
| Value | Cardinal | Текущее значение амплитуды | 
| Channel | Word | Количество каналов | 
| FinalVolume | Real | Значение амплитуды в начале обрабатываемого фрагмента | 
Описание входных данных подпрограммы представлено в табл.2.13.
Таблица 2.13
Входные данные подпрограммы «ChangeVolumeOfAudio»
| Имена переменных | Тип | Описание | 
| AudioData | TAudioData | Передаваемая исходная совокупность значений амплитуд и времен | 
| Start | Cardinal | Стартовая позиция, с которой необходимо начать обработку | 
| Count | Cardinal | Количество позиций, которые необходимо обработать относительно стартовой | 
Выходные данные подпрограммы:
AudioData – измененная совокупность значений амплитуд и времен с примененным эффектом затухающей громкости.
В подпрограмме используются следующие подпрограммы:
1) ReadSample(Number, Channel: LongInt; var Value: Integer) – процедура чтения данных из звукового файла;
2) WriteSample(Number, Channel: LongInt; Value: Integer) – процедура записи данных в звуковой файл.
Схема подпрограммы «ChangeVolumeOfAudio» приведена на рис. 2.22.
| Имена переменных | Тип | Описание | 
| i | integer | Переменная-счетчик | 
| Buf | Int64 | Текущее значение амплитуды | 
| AbsStart | Cardinal | Абсолютная позиция начала обработки | 
| AbsCount | Cardinal | Абсолютное количество позиций для обработки | 
| AbsFinish | Cardinal | Абсолютная позиция конца обработки | 
Описание входных данных подпрограммы представлено в табл.2.15.
Таблица 2.15
Входные данные подпрограммы «ReverseAudio»
| Имена переменных | Тип | Описание | 
| AudioData | TAudioData | Передаваемая исходная совокупность значений амплитуд и времен | 
| Start | Cardinal | Стартовая позиция, с которой необходимо начать обработку | 
| Count | Cardinal | Количество позиций, которые необходимо обработать относительно стартовой | 
Выходные данные подпрограммы:
AudioData – измененная совокупность значений амплитуд и времен с обращенным звуковым сигналом.
В подпрограмме используются следующие подпрограммы: