12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
1

Звуки в Delphi 7

30.08.2010, 20:23. Показов 8378. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как сделать чтобы при наведении мыши на panel1 был воспроизведён звук C:\123.wav ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2010, 20:23
Ответы с готовыми решениями:

звуки
Знаю есть мануалы, но что то подходящего не нашел. нужно сделать так, что бы музыка остановилась...

Звуки после перехода с формы на форму
Всем доброе утро. Хотел бы поинтересоваться :) Можно ли сделать такую плюшку, когда мы переходим...

Создание Dll В которой будут размещены звуки
в общем как то нужно создавать программу в которой при нажатии на кнопку будет играть 8 битник...

Что лучше брать Delphi XE2, Delphi XE, Delphi 7?
Привет форумчане! У меня вопрос: что лучше брать Delphi XE2, Delphi XE, Delphi 7? Как вообще...

15
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
30.08.2010, 22:25 2
обрабатываете событие OnMouseOver (по моему это) и в обработчик запихиваете проигрывание звука (проиграть звук мне удавалось двумя способами с помощью медиа плеера и системой, но об этом есть много тем, я уверен...)
0
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
30.08.2010, 23:10  [ТС] 3
Чё то не понятно
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
31.08.2010, 10:24 4
Ну код то вот
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Play('123.wav');
 
end;
 
procedure TForm1.Play(FileName: string);
begin
 
 MediaPlayer1.FileName:= FileName;
 MediaPlayer1.Open;
 MediaPlayer1.Play;
 
 
end;
но только надо учесть что мышь на панель надо навести и сразу убрать иначе процедура
Delphi
1
TForm1.Panel1MouseMove
будет выполняться постоянно и мы ничего не услышим.Чтоб этого не происходило можно чего нибудь придумать.Ну например таймер использовать.
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
31.08.2010, 10:37 5
igoriy, лучше обрабатывать OnEnter, ваш пример будет лагать.
лучше так:
Delphi
1
2
3
4
procedure TForm1.Panel1Enter(Sender: TObject);
begin
 PlaySound(PChar('123.wav'), 0, SND_FILENAME or SND_SYNC);
end;
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
31.08.2010, 10:52 6
Дык я ж не спорю- это я специально простецки чтоб сам принцип человек понял
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
31.08.2010, 10:54 7
igoriy, судя по множеству однообразных вопросов, этот человек даже не понимает принципов использования поисковых систем
1
igoriy
31.08.2010, 10:56
  #8

Не по теме:

Ну может молод еще- ну все равно помогать надо

0
iama
31.08.2010, 10:59
  #9

Не по теме:

не умеющего плавать нужно бросить в воду

0
igoriy
31.08.2010, 11:01
  #10

Не по теме:

А ведь ты действительно прав- меня в прямом смысле в 3 года так плавать научили

0
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
31.08.2010, 13:18  [ТС] 11
и все равно у меня выдаёт ошибку неизвестный индетификатор play
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
31.08.2010, 13:19 12
97mik, возьми мой пример.
0
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
31.08.2010, 13:29  [ТС] 13
Тоже ошибка только уже неопознаный индетификатор playsound
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
31.08.2010, 13:31 14
mmsystem подключил? подключи, добавь в uses
2
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
31.08.2010, 13:53  [ТС] 15
Спасибо всё зароботало
0
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 2
16.03.2017, 09:02 16
Я тоже было столкнулся с такой проблемой, как воспроизведения звука при наведении на компонент. Мне нужно было сделать так, чтобы звук воспроизводился всего один раз, пока курсор мыши будет находится на этом компоненте, даже если при этом курсор мыши будет перемещаться по компоненту. Я использовал компоненты TImage, в котором нет обработчика событий ни MouseOver, MouseMove, Enter. Программный код я прописал в обработчика события onMouseMove. Так как у меня не один такой компонент, то для каждого компонента я сделал глобальную переменную Boolen. При загрузке программы все переменные имеют значение True, что в моем случае позволяет однократно воспроизводить звук, затем данной переменной присваивается значение False, а переменным других компонентов True.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TMenuGame.ContinueMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
   begin
  if ContProv=True then begin
  PlaySound('Sound\Explosion5.wav',0,SND_ASYNC);
  ContProv:=False;
  NGProv:=True;
  end;
end;
 
procedure TMenuGame.NewGameMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
    if NGProv=True then begin
    PlaySound('Sound\Explosion5.wav',0,SND_ASYNC);
    NGProv:=False;
    ContProv:=True;
    end;
end;
0
16.03.2017, 09:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2017, 09:02
Помогаю со студенческими работами здесь

Как можно сделать программу лучше (добавить анимацию, звуки, видео)?
Как можно сделать программу лучше,добавить там анимацию ,звуки ,видео.

Какие отличия Delphi 5, Delphi 6 и Delphi 7
Кто-нибудь юзал Delphi 6? Если да, то напишите, плиз, его отличия от 5-ой версии (плюсы и минусы)...

Звуки в Delphi
Доброе время суток... Мне интересно как можно вставить музыку в программу, чтобы при старте сразу...

Звуки в delphi
есть едит в который можно записать только один символ - когда пытаешься записать в него второй...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru