Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2015, 19:07   #1
Z_more
 
Регистрация: 29.06.2015
Сообщений: 5
По умолчанию Фоновая музыка

Привет уважаемые форумчане! Дайте совет начинающему:
Я написал небольшое приложение и хотел бы чтобы играла фоновая музыка. Вот код:

Procedure TMain.PlayWAVfromRES();
var
hResource: THandle;
pData: Pointer;
begin
hResource := LoadResource(hInstance, FindResource(hInstance, 'Sound01',
RT_RCDATA));
try
pData := LockResource(hResource);
if pData = nil then
raise Exception.Create('Cannot read Sound01');
SndPlaySound(pData, SND_MEMORY or SND_SYNC);
finally
FreeResource(hResource);
end;
end;

Музыка воспроизводится, но пока она не доиграет до конца основная форма приложения не доступна а мне нужно, чтобы можно было щелкать по форме, делать всякие действия, и чтобы одновременно играла фоновая релакс музыка.
Помогите советом!
Z_more вне форума Ответить с цитированием
Старый 04.07.2015, 20:43   #2
Z_more
 
Регистрация: 29.06.2015
Сообщений: 5
По умолчанию

В общем я разобрался сам. Нужно было запускать музыка в потоке. Вот код, если кому интересно:
1. Сначала объявим наш поток

TPlaySoundThread = class(TThread)
private
{ private declarations }
Procedure PlayWAVfromRES;
protected
{ protected declarations }
procedure Execute; override;
public
{ public declarations }
end;

2. Добавим процедуру Exucute

procedure TPlaySoundThread.Execute;
begin
PlayWAVfromRES()
end;

3. В обработчике FormCreate добавим эти строчки:

pstThread := TPlaySoundThread.Create(false);
pstThread.Resume;
pstThread.Priority:= tpLower;

где pstThread это переменная - pstThread: TPlaySoundThread;

и усе, работает
Z_more вне форума Ответить с цитированием
Старый 04.07.2015, 22:57   #3
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Ещё есть способ SND_ASYNC
https://msdn.microsoft.com/ru-ru/library/aa909803.aspx
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фоновая музыка на сайт ... s88s HTML и CSS 18 29.08.2014 21:45
фоновая задача C# No_Comments Помощь студентам 3 01.05.2013 11:19
Фоновая музыка Лучко Помощь студентам 1 25.04.2013 18:51
Фоновая музыка при создании формы JNLYSk Мультимедиа в Delphi 3 13.09.2009 20:08
Фоновая музыка Коля-Коля Мультимедиа в Delphi 7 10.06.2009 15:06