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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2009, 22:14   #1
CraZZy RabbIt
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 172
Вопрос проблема с медиаплером

есть код

procedure TForm1.Label30MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
MediaPlayer1.Play;
end;

при наведени мышкой на лейбл проигрывается звук..но он играет по кругу пока не уберешь мышь..как сделать чтоб он проигрывался только ОДИН раз!!??

MediaPlayer1.Stop;
не помогает(
CraZZy RabbIt вне форума Ответить с цитированием
Старый 20.02.2009, 22:57   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А если убрать AutoRewind ?
mihali4 вне форума Ответить с цитированием
Старый 20.02.2009, 23:11   #3
CraZZy RabbIt
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 172
По умолчанию

проигрывается только один раз,а нужно чтоб каждый раз при наведении мыши...мыш навел,файл проигрался,следуший раз навел - то же самое...по такому принципу..
CraZZy RabbIt вне форума Ответить с цитированием
Старый 21.02.2009, 04:43   #4
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

если звуковой файл короткий то лучше использовать SNDPlaySound('Filename', SND_ASYNC)
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 06.03.2009, 17:08   #5
SeRhy
Форумчанин
 
Аватар для SeRhy
 
Регистрация: 19.10.2007
Сообщений: 168
По умолчанию

Создай бульную переменную, B например, ктоторой присвой True по умолчанию.
Когда мышь наводиш на лабел то делай так:
Код:
....
if B=True then
Begin
  MediaPlayer1.Play;
  B:=False;
End;
....
По событию OnMouseLeave лабла делай так:
Код:
....
Begin
  B:=True;
  MediaPlayer1.Stop;
  MediaPlayer1.Rewind;
End;
....

Последний раз редактировалось SeRhy; 06.03.2009 в 17:16.
SeRhy вне форума Ответить с цитированием
Старый 07.03.2009, 00:15   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Лучше немного не так, а просто при наведении играть его так:
1. Перемотка назад, не Rewind, там еще один метод есть.
2. Play

И будет всё путем.

p.s. Не заметил, что по движению мыши, тогда да, нужна еще булевая переменная.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 07.03.2009 в 00:19.
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с ПК Sawyer92 Компьютерное железо 28 14.09.2010 09:48
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37
Проблема) krok PHP 3 15.12.2008 21:06
Проблема с gets() TheWanderer Общие вопросы C/C++ 12 21.11.2008 14:35