Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 545

/ вопрос решён /

Приветствую, уважаемые эксперты!
Можно ли в программу встроить звуковой файл чтобы при определённом действии он воспроизводился из cамой программы а не из папки с программой или из другого места

bulas Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: bulas (статус: Посетитель)
Вопрос отправлен: 31 июля 2011, 03:01
Состояние вопроса: решён, ответов: 2.

Ответ #1. Отвечает эксперт: Шарайчук Сергей Олександрович

Здравствуйте, bulas!
вот пример воспроизведения звука http://www.delphisources.ru/pages/faq/base/wav_in_exe.html
уточните при каких действиях нужно проиграть звук?!

Ответ отправил: Шарайчук Сергей Олександрович (статус: 2-ой класс)
Время отправки: 31 июля 2011, 11:11

Ответ #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

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

zvygin1964 (статус: Посетитель), 30 апреля 2014, 17:45 [#3]:

Мережников Андрей:вопрос 5544 посмотрел. Там вообще ничего не понятно. Только обсуждение учебников.
zvygin1964

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

zvygin1964 (статус: Посетитель), 31 июля 2014, 22:08 [#5]:

Создаём rc файл. В него списком пишутся все файлы. Сохраняем rc. Кладём rc и сами файлы в один каталог (где находится brcc32 до лампочки). Запускаем Total commander. В каталоге с файлами выделяем этот файл. На клавиатуре нажимаем стрелочку вправо, внизу Total commander появляется командная строка. Вводим brcc32 название_файла.rc, жмём Enter. ВСЁ.

А по способу №2 у меня командная строка ругается (чего-то делаю не так), хотя расписано очень хорошо (это у меня руки такие).

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:32
Выполнено за 0.03 сек.