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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 20:37   #1
Ko$
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 91
Вопрос Остановка видео при закрытии

Есть форма на ней копка при нажатии на неё открывается самописный проигрыватель Когда воспроизводиш в нём видео всё работает воспроизводится, когда закрываеш окно проигрывателя "красным крестиком" видео продолжает воспроизводиться как это исправить?Т.е. стоп поставить чтоле при закрытии, или убрать стандартные кнопки свернуть, востановить и закрыть и поставить свою кнопку закрыть
Ko$ вне форума Ответить с цитированием
Старый 16.12.2011, 20:40   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от Ko$ Посмотреть сообщение
самописный проигрыватель
так посмотрите в код, найдите ф-ю остановки видео, при закрытии формы освобождайте ресурсы и т.п.

ставте "Стоп" )
Delphi_ProGer вне форума Ответить с цитированием
Старый 16.12.2011, 21:40   #3
Ko$
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 91
По умолчанию

Посмотрите пожалуйста код (сделайте)
Код:
procedure SetVolume(const volL, volR: Word);
 var
   hWO: HWAVEOUT;
   waveF: TWAVEFORMATEX;
   vol: DWORD;
 begin
   // init TWAVEFORMATEX
  FillChar(waveF, SizeOf(waveF), 0);
   // open WaveMapper = std output of playsound
  waveOutOpen(@hWO, WAVE_MAPPER, @waveF, 0, 0, 0);
   vol := volL + volR shl 16;
   // set volume
  waveOutSetVolume(hWO, vol);
   waveOutClose(hWO);
 end;

procedure TForm1.FormCreate(Sender: TObject);
begin
MediaPlayer1.Display:=Form1.sPanel1;

end;

procedure TForm1.sProgressBar1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
  var
   p: real;
begin
if MediaPlayer1.FileName<>'' then  begin
  if ssleft in shift then
  begin
    p:=sProgressBar1.Max/sProgressBar1.Width;
    sProgressBar1.Position:=round(x*p);
    MediaPlayer1.Position:=sProgressBar1.Position;
    MediaPlayer1.Play;
  end;
end;
end;

procedure TForm1.sSpeedButton4Click(Sender: TObject);
begin
if (MediaPlayer1.Mode=mpPlaying) or (MediaPlayer1.Mode=mpPaused) then MediaPlayer1.Stop;
if OpenDialog1.Execute then
begin
FileName:=OpenDialog1.FileName;
Form1.Caption:=FileName;
Form1.sSpeedButton1Click(self);
end;
end;

procedure TForm1.sSpeedButton1Click(Sender: TObject);
begin
if (FileName='') or (MediaPlayer1.Mode=mpPlaying) then exit;
begin
if MediaPlayer1.Mode=mpPaused then begin MediaPlayer1.Play;exit;end;
// нажата кнопка Play
MediaPlayer1.FileName:=FileName;
MediaPlayer1.Open; // открыть и проиграть звуковой файл
Form1.MediaPlayer1.DisplayRect := Form1.sPanel1.ClientRect;
Form1.MediaPlayer1.Play;
end;
end;
и звук тихий можно исправить?
Ko$ вне форума Ответить с цитированием
Старый 16.12.2011, 21:45   #4
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Собитие OnClose в форме...там пишите что-то такого:
Код:
Mediaplayer1.stop;
Mediaplayer1.Display:=nil;

За звук не подскажу, не знаю
Delphi_ProGer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при закрытии программы cargo29 Общие вопросы Delphi 10 17.05.2011 23:31
Остановка карусели при наведении курсора мыши. Не работает? daz JavaScript, Ajax 0 20.01.2011 09:22
Скрытие панелей инструментов при открытии и отображение при закрытии документа Василий. Microsoft Office Word 0 23.10.2010 00:41
Остановка ADODS при OnFetchProcess QuAlex БД в Delphi 0 04.10.2007 17:31
ошибка при закрытии adoquery Банзай БД в Delphi 7 03.09.2007 19:31