Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разработка караоке, разработка караоке для swing приложения 
:(
    Опции темы
123qw
  Дата 29.12.2010, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 12.6.2010

Репутация: нет
Всего: нет



Есть приложение на java с использованием swing. Требуется добавить к этому приложению модуль реализующий караоке. Место на форме и панель, куда будет выводиться текст уже имеется. У меня только одна идея:
1) замерять длительность каждого слова
2) выводить в одном потоке непосредственно песню
3) в другом потоке выводить текст, хотя бы по словам, причем устанавливать принудительную задержку в соответствии с длительностью каждого слова
Но в песне может содержаться 100 слов и более, поэтому это слишком затратный метод решения проблемы.
Есть ли для java уже разработанные библиотеки для такой надобности?
Думаю, что кто-то уже сталкивался с нечто подобным и может посоветовать в какую сторону посмотреть 
PM MAIL   Вверх
mgarin
Дата 29.12.2010, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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
PM MAIL WWW ICQ   Вверх
123qw
Дата 29.12.2010, 04:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 12.6.2010

Репутация: нет
Всего: нет



я так и думал сделать, но это довольно муторно, хочется более общего решения, типа нашел песню в формате караоке, или привел ее к такому формату с помощью какой-нибудь программы, и потом отобразил ее в программе, только как работать с данным форматом я не знаю
PM MAIL   Вверх
techmax
Дата 29.12.2010, 04:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.9.2007
Где: Красноярск

Репутация: нет
Всего: 2



Найти песни в формате для караоке. и потом распарсить этот файл. В них наверное уже предусмотрены все тайминги и т.п.
Вот кстати есть реализация http://sourceforge.net/projects/plarpebu/


Это сообщение отредактировал(а) techmax - 29.12.2010, 04:48
PM MAIL Skype   Вверх
mgarin
Дата 29.12.2010, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 19.8.2009
Где: Санкт-Петербург

Репутация: 2
Всего: 3



Как вариант еще, можете поискать фильмы с нужными песнями и вырезать оттуда из субтитров тайминги, если там под песни есть тексты smile

А вообще, если и есть готовое решение, то вряд ли оно бесплатное.
Во-первых, сами песни не бесплатные, если уж о том говорить (ну по большей части, не думаю что у вас что-то экстравагантное будет)
Во-вторых, в любом случае если это уже кто-то сделал, то это заняло кучу времени и ресурсов и врядли он(они) распространяют все это во free доступе
PM MAIL WWW ICQ   Вверх
123qw
Дата 30.12.2010, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 12.6.2010

Репутация: нет
Всего: нет



нашел видео файл с нужным мне караоке, думаю использовать его, вот только как попросить java воспроизводить такие файлы я не знаю, если кто знает, пожалуйста дайте пример, или хотя бы ткните носом в ссылку, сам я что-то не могу найти 
PM MAIL   Вверх
mgarin
Дата 30.12.2010, 03:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 19.8.2009
Где: Санкт-Петербург

Репутация: 2
Всего: 3



Цитата(123qw @  30.12.2010,  01:14 Найти цитируемый пост)
нашел видео файл с нужным мне караоке, думаю использовать его, вот только как попросить java воспроизводить такие файлы я не знаю

Вы предлагаете угадать что за волшебный формат, что Вы нашли? smile

Я, конечно, могу предположить что это некий файл субтитров (ass/sub/...)...
Если так, то что Вы имеете в виду под воспроизведением?
Во всех этих форматах в полне читабельном (да да, даже обычным Notepad'ом) формате представлены нужные вам данные - считывайте их и используйте как хотите. Распарсить их думаю легко можно. Может даже уже есть готовые парсеры

Это сообщение отредактировал(а) mgarin - 30.12.2010, 03:30
PM MAIL WWW ICQ   Вверх
123qw
Дата 30.12.2010, 03:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 12.6.2010

Репутация: нет
Всего: нет



на ютьбе нашел именно ролик с караоке, который мне нужен, его хочу использовать, т.е. получится, что у меня часть программы будет обычным видеопроигрывателем, вот только не могу найти толкового примера реализации видеопроигрывателя в java
PM MAIL   Вверх
mgarin
Дата 30.12.2010, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 19.8.2009
Где: Санкт-Петербург

Репутация: 2
Всего: 3



Мне только интересно, как вы с ютуба скачаете ролик, а тем более его субтитры (если вы их собираетесь использовать, конечно)
Видео проигрыватель тут уже отходит на 2ой план...
PM MAIL WWW ICQ   Вверх
123qw
Дата 30.12.2010, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 12.6.2010

Репутация: нет
Всего: нет



тащу из кеша, а субтитры вшиты в кадры, поэтому получается, что задача сводится к встраиванию в мое приложение видеопроигрывателя
PM MAIL   Вверх
mgarin
Дата 30.12.2010, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 19.8.2009
Где: Санкт-Петербург

Репутация: 2
Всего: 3



Нормальных кросс-платформенных решений особо нет. Подчеркиваю нормальных

Тот же JMF от разработчика никто не отменял, но ни одно современное видео (по крайней мере сколько я ни пробовал вариантов) он не может воспроизвести.
Можете посмотреть насчет него, скажем, тут:
http://www.deitel.com/articles/java_tutori...ngVideowithJMF/
Там же есть ссылка на скачивание

Соответственно помимо этого остаются нативные решения, как в случаях со встраиванием браузеров
Вот, например:
http://djproject.sourceforge.net
Там есть возможности встраивания WMP или VLC плееров. Далее все будет зависеть от них - есть ли на системе, есть ли нужные кодеки под видео и т.д.
PM MAIL WWW ICQ   Вверх
jk1
Дата 31.12.2010, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 21
Всего: 75



123qw, 

 Правила форума: http://forum.vingrad.ru/index.php?act=boardrules

Одна тема - один вопрос  smile 

Это сообщение отредактировал(а) jk1 - 31.12.2010, 14:55


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.