A
Anjuta
Подскажите пожалуйста, как привязать видео к отдельной записи в DBGrid, чтобы по двойному нажатию на названия мульта к примеру появлялось видео этого мульта.
Заранее спасибо=)
Заранее спасибо=)
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
Не вижу проблем. Событие OnDblClickПодскажите пожалуйста, как привязать видео к отдельной записи в DBGrid, чтобы по двойному нажатию на названия мульта к примеру появлялось видео этого мульта.
Заранее спасибо=)
procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
AviFileName: string;
begin
MediaPlayer1.Close;
AviFileName := AviFileDir + DBGrid1.SelectedField.AsString;
if FileExists(AviFileName) then
begin
MediaPlayer1.FileName := AviFileName;
MediaPlayer1.Open;
MediaPlayer1.Play;
end;
end;
Вы видимо просто переутомились слегка...unit Unit1;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If WindowsMediaPlayer1.Controls.currentPosition := 7
Then WindowsMediaPlayer1.Controls.currentPosition := 0; <---
If WindowsMediaPlayer1.Controls.currentPosition := 20
Then WindowsMediaPlayer1.Controls.currentPosition := 10; <---
end;
end.
Постоянно выходит сообщение "type of expression must be boolean"! понимаю что условие требует смены типа данных, пытался отождествить currentPosition с переменной, но не получается. currentPosition не распознает, хотя вместе с Controls все нормально! помогите написать код. как написать правильно условие?
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (WindowsMediaPlayer1.Controls.currentPosition = 7) then
WindowsMediaPlayer1.Controls.currentPosition := 0;
if (WindowsMediaPlayer1.Controls.currentPosition = 20) then
WindowsMediaPlayer1.Controls.currentPosition := 10;
end;
procedure TForm1.WindowsMediaPlayer1PositionChange(ASender: TObject;
oldPosition, newPosition: Double);
begin
if (newPosition = 7) then
WindowsMediaPlayer1.controls.currentPosition := 0
else if (newPosition = 20) then
WindowsMediaPlayer1.controls.currentPosition := 10;
end;
Да блин... А ведь я Вас оказывается обманул...СПАСИБО огромное!!! Но у меня теперь не получается сделать повтор видео! То есть видео должно воспроизводится циклически:
if (newPosition = 7) then
WindowsMediaPlayer1.controls.currentPosition := 0 - после этих строк видео опять должно непрерывно вопроизводить ДО 7 секунды к примеру, а на деле он проигрывает дальше ДО КОНЦА!
2)
else if (newPosition = 20) then
WindowsMediaPlayer1.controls.currentPosition := 10; - здесь он останавливается после того как доходит 20 секунды, а должен начать СНОВА!
Какое условие и в каком месте Вы используете? Код покажите.Словить по таймеру не проблема. Главная загвоздка в том, что он вообще не видит условие по которому нужно менять текущую позицию - дальше идет после 7 секунды.
КодА я хотел бы чтобы он обратно скинул на начало.
WindowsMediaPlayer1.Controls.currentPosition :=0;
Какие коды? Вы же сказали что по таймеру "без проблем" ловbте?Пробовал разные коды, но все без толку.
А что (по Вашему разумению) должен сделать данный код?Как цикл для видео ставиться в WindowsMadiaPlayer? может я что-то не так делаю?
Не выходит!Код:procedure TForm1.Button1Click(Sender: TObject); begin WindowsMediaPlayer1.Controls.play; WindowsMediaPlayer1.Controls.currentPosition:=0; repeat WindowsMediaPlayer1.Controls.currentPosition:=0; until WindowsMediaPlayer1.Controls.currentPosition=7; end;
То есть (я так понимаю) Вы не желаете потратить немного саоего времени, чтобы ознакомиться с возможностями DirectMedia и воспроизвести видео собственным кодом, так как вам надо.Извините что я так глупо начал не объяснив суть проекта! Это программка по моему виденью должна будет на клики одних кнопок вопроизводить один промежуток, на других - другой! Мне приходила мысль разбить клип на 2 видео, но я побоялся что переход будет заметным: пользователь должен думать что видео реагирует и преобразовывается его кликом!
1. WindowsMediaPlayer не будет за Вас ничего находить. Он может начать воспроизведение если Вы будете подавать ему файлы сами:Простите еще раз за непозволительную глупость с моей стороны! НО Как можно прописать код так чтобы:
1) он быстро находил файл из компьютера и использовал?
2) при заканчивании вопроизведения он начинал сначала чтобы не выдать отрезок, а создать иллюзию бесконечности видео!
Обучение наступательной кибербезопасности в игровой форме. Начать игру!