|
Вопрос # 2 573/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Помогите пожалуйста я делаю видео-плеер я не могу сделать убтитры у меня есть файл формата .srt (содержимое файла 1
00:00:24,062 --> 00:00:26,502
Нет! Не подходи!
2
00:00:26,503 --> 00:00:29,503
Смерть — разве не этого ты хочешь?
3
00:00:29,552 --> 00:00:32,052
Нет! Я не хочу умирать!
4
00:00:37,912 --> 00:00:39,552
Вы ведь один из моих помощников?
5
00:00:39,752 --> 00:00:41,552
Я умру вместе с тобой!
6
00:00:43,912 --> 00:00:45,300
Давай отправимся на Небеса, ).
Я передаю все это в Memo а затем я не знаю как выводить информацию с определенным промежутком и в определенное время? Также я не знаю как убрать лишнюю информацию (3 00:00:29,552 --> 00:00:32,052) Мне известно сколько времени прошло и сколько всего времени. Я делаю с помощью MediaPlayer.
В настоящее время я сделал простой вывод каждой строки.
Приложение: Переключить в обычный режим- procedure TForm2.Timer1Timer(Sender: TObject);
- begin
-
- if Memo1.Lines.Count<>0 then
- begin
- if Memo1.Lines.Count>=i then
- begin
- i:=i+1;
- form1.Label2.Visible:=true;
- form1.Label2.Caption:=form2.memo1.Lines.Strings[i];
- form1.Label2.Visible:=false
- end
- else
- i:=0;
- end;
- ;
-
-
- end;
 |
Вопрос задал: Onix_RED (статус: Посетитель)
Вопрос отправлен: 28 марта 2009, 11:28
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 15; последнее сообщение — 31 марта 2009, 04:30; участников в обсуждении: 6.
|
Onix_RED (статус: Посетитель), 28 марта 2009, 12:58 [#1]:
Главное мне нужно узнать условие чтобы отсеять все лишние (я не знаю как убрать лишнюю информацию (3 00:00:29,552 --> 00:00:32,052) )
|
|
Onix_RED (статус: Посетитель), 28 марта 2009, 12:59 [#2]:
а стольное я думаю сам сделаю
|
|
Onix_RED (статус: Посетитель), 28 марта 2009, 13:02 [#3]:
и 2 переменные чтобы в одной время начала а в другой время окончания
|
|
Onix_RED (статус: Посетитель), 28 марта 2009, 13:20 [#4]:
оо придумал условие if noms=(form2.memo1.Lines.Strings[i]) then
begin
noms:=(IntToStr(StrToInt(noms)+1);
timeN:=form2.memo1.Lines.Strings[i][1]+form2.memo1.Lines.Strings[i][2] +form2.memo1.Lines.Strings[i][3]+form2.memo1.Lines.Strings[i][4]+ form2.memo1.Lines.Strings[i][5]+form2.memo1.Lines.Strings[i][6]+ form2.memo1.Lines.Strings[i][7]+ form2.memo1.Lines.Strings[i][7];
timeK:=form2.memo1.Lines.Strings[i][16] +form2.memo1.Lines.Strings[i][17] +form2.memo1.Lines.Strings[i][18] +form2.memo1.Lines.Strings[i][19]+ form2.memo1.Lines.Strings[i][20] +form2.memo1.Lines.Strings[i][21]+ form2.memo1.Lines.Strings[i][22]+ form2.memo1.Lines.Strings[i][24];
text:=form2.memo1.Lines.Strings[i+1];
end;
|
|
Onix_RED (статус: Посетитель), 28 марта 2009, 14:19 [#5]:
кто-нибуть знает как узнать время просмотра видео в формате hh.mm.ss
а то у меня hh.mm а секунд нету просматриваю через MediaPlayer;
|
|
min@y™ (статус: Доктор наук), 28 марта 2009, 20:21 [#6]:
Цитата:
оо придумал условие if noms=(form2.memo1.Lines.Strings[i]) then
begin
noms:=(IntToStr(StrToInt(noms)+1);
timeN:=form2.memo1.Lines.Strings[i][1]+form2.memo1.Lines.Strings[i][2] +form2.memo1.Lines.Strings[i][3]+form2.memo1.Lines.Strings[i][4]+ form2.memo1.Lines.Strings[i][5]+form2.memo1.Lines.Strings[i][6]+ form2.memo1.Lines.Strings[i][7]+ form2.memo1.Lines.Strings[i][7];
timeK:=form2.memo1.Lines.Strings[i][16] +form2.memo1.Lines.Strings[i][17] +form2.memo1.Lines.Strings[i][18] +form2.memo1.Lines.Strings[i][19]+ form2.memo1.Lines.Strings[i][20] +form2.memo1.Lines.Strings[i][21]+ form2.memo1.Lines.Strings[i][22]+ form2.memo1.Lines.Strings[i][24];
text:=form2.memo1.Lines.Strings[i+1];
end;
Я ФШОКЕ!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Вадим К (статус: Академик), 28 марта 2009, 20:39 [#7]:
Не надо в мемо грузить. Надо создать как минимум массив структур (а лучше сразу класс) и грузить всё туда.
А за подобный код у меня на работе был бы публичный позор с публикацией кода и высмеиванием.
а теперь малось по делу.
form2.memo1.Lines.Strings[i][16] можно сократить до form2.memo1.Lines[i][16]
а всю строку
form2.memo1.Lines.Strings[i][16] +form2.memo1.Lines.Strings[i][17] +form2.memo1.Lines.Strings[i][18] +form2.memo1.Lines.Strings[i][19]+ form2.memo1.Lines.Strings[i][20] +form2.memo1.Lines.Strings[i][21]+ form2.memo1.Lines.Strings[i][22]+ form2.memo1.Lines.Strings[i][24];
до copy(form2.memo1.Lines[i], 16, 9)
правда красивее?
и вообще, а кто обещал, что кол-во часов к примеру всегда будет две цифры? а если три? (да, я отдаю себе отчет, что 100 часов фильм - это очень много, но всё же). с другой стороны, никто не обещал, что они будут в нужных позициях. один пробел порушит Вашу гармонию кода )
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 28 марта 2009, 20:47 [#8]:
Вадимка, согласись — ЭТО ЖУТЬБЛ@!!!! Я такого и не видел никогда! Свят свят свят свят свят свят свят свят...
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Amidamaru (статус: 4-ый класс), 28 марта 2009, 21:02 [#9]:
Если ты хочешь создать плеер, то с TMediaPlayer это нереально.
Тебе нужно учиться работать с графикой на уровне API. Почитай книжки и статьи про OpenGL. А вот когда разберешся с графикой - будешь думать о субтитрах.
|
|
Ученый (статус: 8-ой класс), 28 марта 2009, 21:34 [#10]:
Жутковатый кодик )
|
|
Вадим К (статус: Академик), 28 марта 2009, 21:37 [#11]:
to min@y™
не надо так меня называть и, я бы это так не называл. Не надо ругаться хотя бы в мою сторону.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Onix_RED (статус: Посетитель), 29 марта 2009, 13:32 [#12]:
Все ясно! Видео плеер это только дополнение к моей программе я думаю мне сойдёт на первое время TMediaPlayer а насчет кода я написал его крупным и не функциональным так как я уже все забыл за два года )
|
|
Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 29 марта 2009, 19:31 [#13]:
Может быть стоить после того, как .srt-файл загружен, преобразовать его, скажем, в массив записей, а в процессе просмотра фильма по таймеру, получая текущее время, делать поиск уже в массиве?
|
|
Amidamaru (статус: 4-ый класс), 30 марта 2009, 19:40 [#14]:
и после загрузки в массив отсртировать записи по начальному времени
|
|
Onix_RED (статус: Посетитель), 31 марта 2009, 04:30 [#15]:
ясно спасибо
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|