|
Вопрос # 5 545/ вопрос решён / |
|
Приветствую, уважаемые эксперты!
Можно ли в программу встроить звуковой файл чтобы при определённом действии он воспроизводился из cамой программы а не из папки с программой или из другого места
 |
Вопрос задал: bulas (статус: Посетитель)
Вопрос отправлен: 31 июля 2011, 03:01
Состояние вопроса: решён, ответов: 2.
|
Ответ #1. Отвечает эксперт: Шарайчук Сергей Олександрович
Здравствуйте, bulas!
вот пример воспроизведения звука http://www.delphisources.ru/pages/faq/base/wav_in_exe.html
уточните при каких действиях нужно проиграть звук?!
Ответ #2. Отвечает эксперт: t116
Здравствуйте, bulas!
Приготовь WAV файл, назовите его 1.wav. его необходимо положить в туже директорию, куда был сохранён проект, («C:\testRC»).
Отрой блокнот и запишите в него строку:
TESTWAV WAVE 1.wav
TESTWAV – Это имя, которое будет указываться при вызове ресурса в программе.
WAVE – Это тип ресурса.
1.wav – Это имя файла.
сохрани этот файл с именем «test.rc». Теперь необходимо скомпилировать файл. Для этого запусти «cmd.exe». Наберите команду:
brc32.exe путь до файла «test.rc» Нажми «Ввод» и уведешь в папке с программой откомпилированный *.res файл.
Найди строчку «{$R *.dfm}» и сразу после неё допиши «{$R test.res}»
Этими действиями мы связали *.res файл с исполняемым файлом.
В «uses» подключаем модуль «MmSystem»
Размести на форме кнопку, по нажатии которой будет, воспроизводиться мелодия.
Обработчик событий :
procedure TForm1.Button1Click(Sender: TObject);
begin
PlaySound('TESTWAV', 0, SND_RESOURCE or SND_ASYNC);
end;
 |
Ответ отправил: t116 (статус: 1-ый класс)
Время отправки: 31 июля 2011, 12:33
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 31 июля 2014, 22:08; участников в обсуждении: 2.
|
Мережников Андрей (статус: Абитуриент), 31 июля 2011, 07:56 [#1]:
Прежде, чем задавать вопрос, слабо сначала посмотреть - есть ли подобные? Например, вопрос 5544?
|
11 мая 2012, 16:31: Статус вопроса изменён на решённый (изменил модератор DNK)
|
zvygin1964 (статус: Посетитель), 30 апреля 2014, 17:41 [#2]:
Шарайчук Сергей Олександрович: "запусти «cmd.exe». Наберите команду:
brc32.exe путь до файла «test.rc» Нажми «Ввод»",- не получилось...
cmd.exe выдало строчку как и начиналась:
C:/WINDOWS/system32>brc32.exeC:/Program Files/Borland/Delphi7/Projects/30.04.14zvuk
Синтаксическая ошибка в имени файла, имени папки или метке тома.
Чего я пропустил?
|
|
zvygin1964 (статус: Посетитель), 30 апреля 2014, 17:45 [#3]:
Мережников Андрей:вопрос 5544 посмотрел. Там вообще ничего не понятно. Только обсуждение учебников.
|
|
zvygin1964 (статус: Посетитель), 30 апреля 2014, 17:55 [#4]:
Извините... Вопрос решён:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,MMSystem;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
sndPlaySound('C:\Program Files\Borland\Delphi7\Projects\30.04.14zvuk\1.wav',
SND_NODEFAULT Or SND_ASYNC Or SND_LOOP);
end;
end.
|
|
zvygin1964 (статус: Посетитель), 31 июля 2014, 22:08 [#5]:
Создаём rc файл. В него списком пишутся все файлы. Сохраняем rc. Кладём rc и сами файлы в один каталог (где находится brcc32 до лампочки). Запускаем Total commander. В каталоге с файлами выделяем этот файл. На клавиатуре нажимаем стрелочку вправо, внизу Total commander появляется командная строка. Вводим brcc32 название_файла.rc, жмём Enter. ВСЁ.
А по способу №2 у меня командная строка ругается (чего-то делаю не так), хотя расписано очень хорошо (это у меня руки такие).
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|