![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| 123qw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
Есть приложение на java с использованием swing. Требуется добавить к этому приложению модуль реализующий караоке. Место на форме и панель, куда будет выводиться текст уже имеется. У меня только одна идея:
1) замерять длительность каждого слова 2) выводить в одном потоке непосредственно песню 3) в другом потоке выводить текст, хотя бы по словам, причем устанавливать принудительную задержку в соответствии с длительностью каждого слова Но в песне может содержаться 100 слов и более, поэтому это слишком затратный метод решения проблемы. Есть ли для java уже разработанные библиотеки для такой надобности? Думаю, что кто-то уже сталкивался с нечто подобным и может посоветовать в какую сторону посмотреть |
|||
|
||||
| mgarin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 19.8.2009 Где: Санкт-Петербург Репутация: 2 Всего: 3 |
Либо у вас в наличии есть нарезка песни в mp3 (или еще в чем) по словам, либо вам придется создавать все задержки для каждого слова и их длительности самому.
Есть третий вариант, конечно, - написать свой мега-супер парсер для выцепливания слов из звука... Кхм, думаю стоит забыть о 3ем варианте - слишком затратно. Серьезно говоря - лучшим вариантом мне видится - для каждой песни иметь 1 файл типа "name.mp3" и 1 "name.timing" (или что-то типа). Соответственно во 2ой файл сами нарезаете песню как вам удобней хранить такие данные, как вариант (честно, придумал на ходу): 0-5000 I 5001-6000 Love you! {break} 6001-10000 Soooo 10001-12000 much! Собственно, первый промежуток указывает тайминг (и из него также получается скорость показа слов на экране) и далее текст. Самый простой вариант... Ну и {break} как вариант для обозначения следующей фразы или тому подобного. Далее дело техники - воспроизводите песню и параллельно показываете текст учитывая тайминги из файла P.S. Вероятно, конечно, я изобретаю велосипед... Думаю подобные форматы файлов с таймингами под караоке уже давно существуют, нужно лишь поискать Добавлено @ 03:16 P.P.S. 1ая же ссылка из google вывела на что-то эдакое, похожее (судя по всему приложение для удобного создания тайминг файлов): http://docs.aegisub.org/manual/Karaoke_Timing_Tutorial Но это так... в догонку Это сообщение отредактировал(а) mgarin - 29.12.2010, 03:16 |
|||
|
||||
| 123qw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
я так и думал сделать, но это довольно муторно, хочется более общего решения, типа нашел песню в формате караоке, или привел ее к такому формату с помощью какой-нибудь программы, и потом отобразил ее в программе, только как работать с данным форматом я не знаю
|
|||
|
||||
| techmax |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 5.9.2007 Где: Красноярск Репутация: нет Всего: 2 |
Найти песни в формате для караоке. и потом распарсить этот файл. В них наверное уже предусмотрены все тайминги и т.п.
Вот кстати есть реализация http://sourceforge.net/projects/plarpebu/ Это сообщение отредактировал(а) techmax - 29.12.2010, 04:48 |
|||
|
||||
| mgarin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 19.8.2009 Где: Санкт-Петербург Репутация: 2 Всего: 3 |
Как вариант еще, можете поискать фильмы с нужными песнями и вырезать оттуда из субтитров тайминги, если там под песни есть тексты
А вообще, если и есть готовое решение, то вряд ли оно бесплатное. Во-первых, сами песни не бесплатные, если уж о том говорить (ну по большей части, не думаю что у вас что-то экстравагантное будет) Во-вторых, в любом случае если это уже кто-то сделал, то это заняло кучу времени и ресурсов и врядли он(они) распространяют все это во free доступе |
|||
|
||||
| 123qw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
нашел видео файл с нужным мне караоке, думаю использовать его, вот только как попросить java воспроизводить такие файлы я не знаю, если кто знает, пожалуйста дайте пример, или хотя бы ткните носом в ссылку, сам я что-то не могу найти
|
|||
|
||||
| mgarin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 19.8.2009 Где: Санкт-Петербург Репутация: 2 Всего: 3 |
Вы предлагаете угадать что за волшебный формат, что Вы нашли? Я, конечно, могу предположить что это некий файл субтитров (ass/sub/...)... Если так, то что Вы имеете в виду под воспроизведением? Во всех этих форматах в полне читабельном (да да, даже обычным Notepad'ом) формате представлены нужные вам данные - считывайте их и используйте как хотите. Распарсить их думаю легко можно. Может даже уже есть готовые парсеры Это сообщение отредактировал(а) mgarin - 30.12.2010, 03:30 |
|||
|
||||
| 123qw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
на ютьбе нашел именно ролик с караоке, который мне нужен, его хочу использовать, т.е. получится, что у меня часть программы будет обычным видеопроигрывателем, вот только не могу найти толкового примера реализации видеопроигрывателя в java
|
|||
|
||||
| mgarin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 19.8.2009 Где: Санкт-Петербург Репутация: 2 Всего: 3 |
Мне только интересно, как вы с ютуба скачаете ролик, а тем более его субтитры (если вы их собираетесь использовать, конечно)
Видео проигрыватель тут уже отходит на 2ой план... |
|||
|
||||
| 123qw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.6.2010 Репутация: нет Всего: нет |
тащу из кеша, а субтитры вшиты в кадры, поэтому получается, что задача сводится к встраиванию в мое приложение видеопроигрывателя
|
|||
|
||||
| mgarin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 19.8.2009 Где: Санкт-Петербург Репутация: 2 Всего: 3 |
Нормальных кросс-платформенных решений особо нет. Подчеркиваю нормальных
Тот же JMF от разработчика никто не отменял, но ни одно современное видео (по крайней мере сколько я ни пробовал вариантов) он не может воспроизвести. Можете посмотреть насчет него, скажем, тут: http://www.deitel.com/articles/java_tutori...ngVideowithJMF/ Там же есть ссылка на скачивание Соответственно помимо этого остаются нативные решения, как в случаях со встраиванием браузеров Вот, например: http://djproject.sourceforge.net Там есть возможности встраивания WMP или VLC плееров. Далее все будет зависеть от них - есть ли на системе, есть ли нужные кодеки под видео и т.д. |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
123qw,
Правила форума: http://forum.vingrad.ru/index.php?act=boardrules Одна тема - один вопрос Это сообщение отредактировал(а) jk1 - 31.12.2010, 14:55 -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |