Trackbar и Mediaplayer

Тема в разделе "Delphi - Multimedia, Графика, Игры", создана пользователем Dock1100, 5 янв 2010.

  1. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Питаюсь писать медиапроигрователь столкнулса с проблемой связаной с TrackBar.
    Нету перемотки.
    Код (Text):
    procedure TForm4.TrackBar1Change(Sender: TObject);
    begin
    trackbar1.Position:=mediaplayer1.Position;
    if image1.Tag=1 then mediaplayer1.play;
    end;
    image1.Tag=1 //нажата кнопка проигрования, если Tag=0 то не нажата

    для обновления позиции ползунка на TrackBar:
    Код (Text):
    procedure TForm4.Timer1Timer(Sender: TObject);
    begin
    trackbar1.Position:=mediaplayer1.Position;//Interval=500;
    end;
     
  2. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Смотрим внимательно на этот код
    Код (Text):
    procedure TForm4.TrackBar1Change(Sender: TObject);
    begin
    trackbar1.Position:=mediaplayer1.Position;
    if image1.Tag=1 then mediaplayer1.play;
    end;
    А теперь на этот
    Код (Text):
    procedure TForm4.TrackBar1Change(Sender: TObject);
    begin
    mediaplayer1.Position:=trackbar1.Position;
    if image1.Tag=1 then mediaplayer1.play;
    end;
    Ищем отличие..
     
  3. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Попробовал, но видео и звук подтормаживают.
    Может что не так написал

    Вот весь код:
    Код (Text):
    procedure TForm4.Image1MouseUp(Sender: TObject; Button: TMouseButton;//кнопка play,pause
    Shift: TShiftState; X, Y: Integer);
    begin
    if image1.Tag=0 then begin
    mediaplayer1.play;
    image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'buttons\'+'pause.bmp');
    image1.tag:=1;
    timer1.enabled:=true;
    end else begin
    mediaplayer1.pause;
    image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'buttons\'+'play.bmp');
    image1.tag:=0;
    timer1.enabled:=false;
    end;
    end;

    procedure TForm4.Image2Click(Sender: TObject); //кнопка stop
    begin
    mediaplayer1.Stop;
    mediaplayer1.Position:=0;
    image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'buttons\'+'play.bmp');
    image1.tag:=0;
    timer1.enabled:=false;
    end;

    procedure TForm4.Image5Click(Sender: TObject); //кнопка открытия медиа файла
    begin
    if opendialog1.Execute then begin
    mediaplayer1.FileName:=opendialog1.FileName;
    mediaplayer1.open;
    MediaPlayer1.DisplayRect := Panel1.ClientRect;
    mediaplayer1.play;
    image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'buttons\'+'pause.bmp');
    image1.tag:=1;
    TrackBar1.Max:=MediaPlayer1.Length;
    timer1.enabled:=true;
    end;
    end;


    procedure TForm4.Timer1Timer(Sender: TObject);
    begin
    trackbar1.Position:=mediaplayer1.Position;
    end;

    procedure TForm4.TrackBar1Change(Sender: TObject);
    begin
    mediaplayer1.Position:=trackbar1.Position;
    if image1.Tag=1 then mediaplayer1.play;
    end;
     

    Вложения:

    • Mediaplayer.zip
      Размер файла:
      242 КБ
      Просмотров:
      19
  4. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Ты про то, что оно заикается при проигрывании? А при чем тут перемотка?
    Код (Text):
    procedure TForm4.Timer1Timer(Sender: TObject);
    begin
    trackbar1.Position:=mediaplayer1.Position;
    end;
    procedure Form4.TrackBar1Change(Sender: TObject);
    begin
    if ABS(mediaplayer1.Position - TrackBar1.Position) > 1000 then
    begin
    If TrackBar1.Position<>mediaplayer1.Position then mediaplayer1.Position:=TrackBar1.Position;
    mediaplayer1.Play;
    end;
    Попробуй что-нибудь в таком духе..
     
  5. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    А зачем вот ето:
    Код (Text):
    if ABS(mediaplayer1.Position - TrackBar1.Position) > 1000 then
    begin
    У меня вот ето:
    Код (Text):
    procedure TForm4.TrackBar1Change(Sender: TObject);
    begin
    if mediaplayer1.Position<>trackbar1.Position then mediaplayer1.Position:=trackbar1.Position;
    if image1.Tag=1 then mediaplayer1.play;
    end;
    работает без глюков.

    В самом первом случяе нельзя было перематывать(Перетягиваеш ползунок на TrackBar1 а видео все продолжает показивать с того места где и было)
     
  6. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    if ABS(mediaplayer1.Position - TrackBar1.Position) > 1000 then
    Это просто проверяет - кто сделал перемотку - юзер или таймер..
     
  7. Гость

    Dock1100 а кнопочки то из Поги МР начальной версии! :rolleyes:
    Ну да ладно!

    Я вообщем то хотел сказать что не юзабельно таскать трекбар, чтоб перематывать трек! сделайте что б принажатии в любое место трэкбара, Thumb перемещался в то место!(извините как то коряво пояснил) Ну я думаю вы поймёте!
     
  8. Гость

    Но можно же сделать, что бы перематывался и так и так!

    p.s. я то использую gauge!
    А на видео фраме благополучно реализован трэкбар!
     
  9. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Никто не знает как можно "разукрасить" trackbar?
     
  10. Гость

    Три варианта:
    рисовать самому на канве!
    При помощи трёх имажэ(один-непосредственно полоса, второй thumb, третий Тоже Themb для определении позиции!
    Либо писать самому компонент!))
     
  11. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Наскоко я искал, то канвы у трекбара нет

    Пробовал, но марока с перемещением.
    для определения позиции курсора использовал:
    Поскоку form1.left определяет положение форми в месте с бордуром, хотя можно убрать стиль.
     
  12. Гость

    - да я другое имелл ввиду!
    берём к примеру Паинтбокс и рисуем там!! Сколько прошло времени - одним цветом, сколько осталось другим цветом!

    Ниже скинул пример с имаже!!!
    Конечно не идеал! но если по работать с этим и настроить как вам надо, то можно пользоваться!
    (я раньше так делал)!
     

    Вложения:

    • trBar.rar
      Размер файла:
      179,2 КБ
      Просмотров:
      18
  13. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    В принципе я писал что-то похожее.
     
  14. Гость

    Так я и не смог нормально потестить

    Картинки у меня просит, не может найти!



    А всё! Надо было распаковывать!!
    Ну если вас не утраивает данный варинат, тогда пишите свой трэкбар!
     

    Вложения:

    • 111.jpg
      111.jpg
      Размер файла:
      89 КБ
      Просмотров:
      97
  15. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    вот запоковал рисунки, и извлекайте в папку а не открывайте из архива.
     

    Вложения:

    • ___________.zip
      Размер файла:
      586,7 КБ
      Просмотров:
      21
  16. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Распаковал. Запустил. Увидел, уж простите, куиту.
     
  17. Гость

    :discard:
     
  18. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    [​IMG]
    Вот это - куита.

    Добавлено: [​IMG]
    Окно для видео - тоже.
     
  19. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Вобчето ето просто образец трекбара, а всё остальное клепалось за 5 мин.
     
  20. Гость

    Я предполагал!
    ждал ответа вашего!(для утверждения своих предположений)
    p.s. а у вас готовый плеер есть?
     
Загрузка...
Похожие Темы - Trackbar Mediaplayer
  1. iret
    Ответов:
    5
    Просмотров:
    4.342
  2. vadpetr
    Ответов:
    0
    Просмотров:
    1.137
  3. Dock1100
    Ответов:
    14
    Просмотров:
    7.489
  4. VahaC
    Ответов:
    0
    Просмотров:
    2.101

Поделиться этой страницей