Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Механизм отображения субтитров (http://www.flasher.ru/forum/showthread.php?t=120193)

MyXus 16.01.2009 12:22

ну, я думаю, это задача максимум. Я думаю, никто не обломится, если при ревайнде 3-5 сек будут без субтитров.
А если уж так охота, всегда есть первое решение - XML, распарсеный в индексированный масив операторов show/hide subtitles + playheadUpdate event.

marat_sa 18.01.2009 15:07

Мда... От чего ушел, к тому и вернулся)))
А по такой ситуации может кто что-нибудь знает, чтоб темы еще одной не создавать спрошу сразу:
Вобщем есть набор flv файлов мелких и нужно чтобы плееру мы даем xml со списком нужных нам файлов, а он их грузил в себя и временная шкала(перемотка) отображала суммарное время проигрывания всех файлов списка, натипа плейлиста. То есть как 1 целый большой файл, но на самом деле состоящий из нескольких мелких. При поиске по временной шкале, он начинал проигрывать соответствующий файл. Нужно в xml-листе этих кусочков прописывать время для каждого, а потом их складывать вручную и задавать плееру?

djyamato 28.09.2010 01:14

Цитата:

Сообщение от marat_sa (Сообщение 790440)
Под велосипедом я имел не организацию XML файла, распарсить можно все что угодно, а еще какой-нибудь механизм для субтитров:) Может класс есть какой во флексе?

Это что же получается? На каждый playheadUpdate (по умолчанию, интервал вроде 250 мс) мы должны перебирать в цикле весь массив субтитров и искать между какими временными значениями субтитров он находится и что сейчас показывать? А если субтитров тысячи? О_о

массив может же быть и таким:

Subtitles["время в секундах"]="мой текст"
Subtitles["время в секундах"]="мой текст 2"


Высчитывать во время воспроизведения секунды - переводить это в строку и далее,
текущее время воспроизведения в секундах у нас же есть

Код AS3:

myPlayHeadSeconds // текущее время воспроизведения
var currSecond:String=myPlayHeadSeconds.toString();
if(Subtitles[currSecond]!=undefined){
  /// trace(Subtitles[currSecond]); - текущий субтитр
}

Читал тему и вижу никто не сказал про ГАШЕНИЕ субтитры текущей (чел сказал допустим и далее сцена без диалога )
Я заводил пустую субтитру в таком случае

marat_sa 28.09.2010 10:03

Чувак, ты некропостер)))


Часовой пояс GMT +4, время: 14:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.