Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите текст программы, а может только процедуру [D7, WinXP]


Страницы:   1 2

tamagavk ©   (2004-06-20 12:37:00) 

Здравствуйте уважаемые любители Delphi!
Помогите и подскажите, как написать прогу(а может только процедуру),которая при определенных действиях,например,при нажатии кнопки, воспроизводила WAV файл, но не откуда-то с жесткого диска, а из памяти программы. Все ответы и предполо-
жения присылать по адресу tamagavk@comail.ru   Зараннее благодарен!


tamagavk   (2004-06-20 20:03:00) [21]

Наверно,скажите тогда метод загрузки из ресурса. Но только я с ним никогда не работал, объясните поподробнее или пришлите на e-mail   tamagavk@comail.ru


}{enon   (2004-06-20 19:59:00) [22]

... то все будет работать В ТОЛЬКО ЧТО ЗАПУЩЕННОЙ КОПИИ ПРОГРАММЫ. Ну не может прога загрузить несуществующий файл. Видимо ты неверно сформулировал вопрос, и звук надо запускать не из памяти а из ресурса.


tamagavk   (2004-06-20 19:31:00) [23]

Так я запускал программу не один раз, все игралось, но после перемещения перестало проигрываться


}{enon   (2004-06-20 19:25:00) [24]

А с какой стати он будет запускаться, если ты переместил файл? Он не может найти файл, который нужно загрузить в память, потому и выдает ошибку. Вот если ты запустишь программу, а ПОТОМ переместишь файл, то все будет работать. WAV играется из памяти, но сам по себе он там не окажется - его нужно или загрузить, или записать.


tamagavk   (2004-06-20 19:13:00) [25]

Все написал как вы сказали, но ведь все равно идет обращение к файлу на жестком диске?Стоит мне переместить мой WAV файл в другое место жесткого диска, так проект не запускается и вылетает ошибка!


Огромное Кулясище   (2004-06-20 18:50:00) [26]

> Кстати, пишу методом PlaySound как указано на предложенной выше странице

На предложеной выше странице предлагается метод sndPlaySound, если уж быть точным.

Далее, ты уверен, что написал так:

uses SysUtils, Classes, MMSystem;

var
 tada: string;

function LoadFile(const FileName: TFileName): string;
begin
 with TFileStream.Create(FileName,
     fmOpenRead or fmShareDenyWrite) do begin
   try
     SetLength(Result, Size);
     Read(Pointer(Result)^, Size);
   except
     Result := '';  // Deallocates memory
     Free;
     raise;
   end;
   Free;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 sndPlaySound(Pointer(tada), SND_MEMORY
   Or SND_NODEFAULT Or SND_ASYNC);
end;

initialization
 tada := LoadFile('C:\Windows\Media\Tada.wav');

finalization
 tada := ''; // Releases the memory taken by the string
end.

Как видишь, SND_MEMORY уже вставлено.


tamagavk   (2004-06-20 18:13:00) [27]

Кстати, пишу методом PlaySound как указано на предложенной выше странице, но если стереть файл с жесткого диска, звука не будет!!
Что такое SND_Memory?  Может оно поможет?  Напишите куда надо это вставлять


tamagavk   (2004-06-20 18:02:00) [28]

Насчет PlaySound сделал все,как написано, но звука нетууу. В чем дело напишите поподробнее


Огромное Кулясище   (2004-06-20 14:16:00) [29]

> SND_MEMORY

Прикольно, не знало раньше.

> A можно поподробнее насчет PlaySound или SND_Memory(я имею ввиду текст)Я ведь начинающий.

Э-э, побачь тута:
http://www.latiumsoftware.com/en/delphi/00024.php


tamagavk   (2004-06-20 13:47:00) [30]

A можно поподробнее насчет PlaySound или SND_Memory(я имею ввиду текст)Я ведь начинающий.


Anatoly Podgoretsky   (2004-06-20 13:14:00) [31]

SND_MEMORY


Огромное Кулясище   (2004-06-20 13:09:00) [32]

2 Anatoly Podgoretsky:

Вы имеете ввиду флаг SND_RESOURCE, т.е. проигрывание из ресурса как проигрывание из памяти?


Anatoly Podgoretsky   (2004-06-20 13:02:00) [33]

PlaySound


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо