Odtwarzanie napisów do filmu

0

Robię odtwarzanie napisów do filmu. Mam pewien probelm.
Najpierw rozpozneję rodzaj napisów 000:tekst lub {0}{0}tekst
potem do jednej listy dodaję czas wyświetlenia, a do drugiej tekst. I mam problem z tym drugim rodzajem. Chcę, żeby czas dodawał się w formacie GSS, więc muszę zamienić ten drugi.

Robię to tak

  
for i:=0 to ListaNapsiow.Items.Count-1 do
  begin
  a:=-1;
  b:=-1;
    for j:=0 to StrLen(pchar(ListaNapsiow.Items.Strings[i])) do
    begin
      if Copy(pchar(ListaNapsiow.Items.Strings[i]),j,1) = '{' then
      if a=-1 then
        a:=j;
      if Copy(pchar(ListaNapsiow.Items.Strings[i]),j,1) = '}' then
      if b=-1 then
        b:=j;

    end;
    // z konwersją na G:MM:SS

    aValue := strtoint(Copy(pchar(ListaNapsiow.Items.Strings[i]),a+2,b-a-2));
aHt := avalue div 3600;
aMt := (avalue mod 3600) div 60;
aSt := (avalue mod 3600) mod 60;


      PoczatekNapisow.Items.Add(Format('%d:%2.2d:%2.2d', [aHt, aMt, aSt]));

  end;

I problem w tym, że to mi źle przerabia czas. Trochę za dużo (ostatni napis ma około 3300)

I Jak to poprawić? Wiem, że nie wiadomo wiele z mojego postu, ale może ktoś zrozumie. PS: w kodzie jest zawarte tylko dodawanie czasu, a teksty do innej listy nie

0

zalezy od tego jaki jest FPS filmu.
w tym drugim typie podawane sa wlasnie klatki.
musisz wydobyc FPS filmu a potem tylko dzielenie i juz masz sekunde, reszte sobie chyba juz poustawiasz

0

A czy istnieje jakoś porządny komponent lub zwykła klasa do odtwarzania napisów w różnych formatach?

0

Właśnie. Przydało by się coś takiego.

0

przydaloby sie ruszyc glowa....
co to za problem? pobrac aktualna klatke, odpowiednio podzielic przez 60 i mamy czas.
potem sformatowac to do formatu hss i poszukac tego w pliku z napisami a potem odciac czas i wyswietlic napis....
z 'formatem klatkowym' jeszcze latwiej bo nie trzeba dzielic....
ludzie.. moze od razu zrobic wam slawny juz komponent Tgotowyprogram ?

0

Zgadzam się z tobą. Jakbym mógł pobrać ilość klatek, albo FPS, to bym to zrobił, ale problem w tym, że nie wiem jak to zrobić. Może mi powiesz jak pobrać z DSPack FPS, albo ilość klatek

0

Ale jakoś nie wiem o co chodzi w tym co tam jest napisane. Możesz mi to lepiej wytłumaczyć?

1 użytkowników online, w tym zalogowanych: 0, gości: 1