Как добавить в свою программу звук? Но не просто добавить, а сделать так, чтобы он играл не из какого-то файла, а был вшит в exe! И не просто звук, а чтобы это ещё и не сильно увеличивало размер программы!
Вопросы трекерной музыки отложим на потом. Сейчас поговорим об mp3.
Итак, наша задача засунуть mp3 в нашу программу и заставить его воспроизводиться по комманде.
Для этого нам, разумеется, понадобится сам файл.
Для тех кто не знает, как добавить его в ресурсы своей программы:
Создаем текстовый файл с именем sounds.rc
Прописываем в него наши файлы. Каждый файл в ресурсах = 1 строке. Пример содержимого файла:
Первое слово - имя, которое мы будем указывать в программе.
Второе - тип ресурса = wav файл
Третье - имя файла
сохраняем файл.
Компилим его из коммандной строки: brcc32 sounds.rc
В результате получаем откомпиленный файл - sounds.res.
Второй этап:
В программе подключаем этот файл:
{$R sounds.res}
Теперь для воспроизведения звука нужно дать комманду:
PlaySound('SND1', 0, SND_RESOURCE or SND_ASYNC);
, где первым параметром - имя, назначенное нами файлу в файле ресурсов
Предчувствую Ваше справедливое возмущение: "Как же так? Нам обещали mp3!"
Третий этап:
Открываем меню Пуск -> Программы -> стандартные -> Развлечения
Запускаем "Звукозапись". У кого нет, можно доустановить через установку/удаление программ или воспользоваться другой программой подобного рода.
Открываем наш wav файл: Меню -> Файл -> открыть.
Теперь превратим его в mp3: Меню -> Файл -> Свойства
Нажимаем кнопку "Конвертировать".
Выбираем формат MP3 и нужное нам качество воспроизведения.
Сохраняем: Меню -> Файл -> Сохранить.
Все. Теперь внутри нашего wav файлика реально сидит MP3, который без проблем воспроизводится через PlaySound при наличии в системе установленного MP3 кодека. А данный кодек установлен во всех Windows >= 2000 по умолчанию. В более ранние как правило попадает вместе с другими программами или наборами кодеков.
SND_ASYNC - нет никакого подвисания, ни на форме, ни без неё.
Что касается программы - примера, то там нет SND_ASYNC специально - чтобы программа завершалась по окончании проигрывания звука.
Без этого флага да - подвисание будет.
ах вот это новость )))) RIFF-стандарт ещё в windows 3.1 придумали, и в нём может хранится любое медиа, и оно будет "родное" для винды
чем-то похоже на оле-контейнер
не могу установить delphi 5 любой серийник не подходит поодскажи...
Да нормальная книга...))))
Автору респект. Завелось сразу же. Но ссылка дистиллер уже битая...
Это просто ох*енный сайт!!!
Хорошая книжка...как говориться не фонтан но брызги есть...=)))
оно
..вот только не все можно поместить в одну книгу...
Браузер у тебя битый. Качай другим. Все файлы нормальные.
люди!! де ключ взять под турбо делфи???