...

Листинг 5.4.

Использование ресурсов для хранения звуковых записей

//Функция, которая воспроизводит звук, находящийся в ресурсе

procedure RetrieveLoadSound;

var

hResource : THandle;

pData : Pointer;

begin

//Загружаем файл ресурса и находим звук под именем \'LOADSOUND\'

hResource := LoadResource( hInstance, FindResource(hInstance,

\'LOADSOUND\', RT_RCDATA));

try

//Находим адрес загруженного ресурса

pData := LockResource(hResource);

if pData = nil then raise Exception.Create(\'Ошибка чтения

ресурса LOADSOUND\');

//Воспроизводим звуковой файл

sndPlaySound(pData, SND_MEMORY);

finally

//Освобождаем ресурс

FreeResource(hResource);

end;

end;

Для работы функции RetrieveLoadSound понадобятся две следующие переменные: hResource (дескриптор ресурса) и pData (указатель на память, расположение ресурса). Перед использованием ресурса производится его загрузка (функция LoadResource). Но чтобы загрузить именно тот ресурс, который нам необходим (звук LOADSOUND), с помощью функции FindResource ищем его в ресурсах, подключенных к этому экземпляру приложения (hlnstance). Далее получаем указатель на память, в которой находится звуковой файл, и записываем его в переменную pData. Если ресурс не найден, то программа выдаст сообщение об ошибке.

После того как был получен указатель на память, его можно использовать в функции sndPlaySound для воспроизведения звука. Параметр SND_MEMORY говорит о том, что воспроизведение будет осуществляться из памяти.

Функция RetrieveLoadSound может использоваться в любом месте программы для воспроизведения start. wav. В этом случае данные звукового файла будут находиться в запускаемом модуле, увеличивая его объем, но сокращая количество файлов приложения. Такой подход эффективен при создании небольших приложений, которые снабжаются короткими звуковыми сопровождениями.

В конце главы будет подробно описан процесс создания универсального проигрывателя, работа которого целиком построена на использовании компонента MediaPlayer. Далее рассмотрим следующий мультимедийный компонент Delphi – Animate, который позволяет воспроизводить как стандартную (встроенную в Windows), так и пользовательскую анимацию.

Загрузка...