![]() |
|
![]() |
#1 |
Senior Member
Регистрация: 17.10.2010
Сообщений: 112
|
![]()
Как известно, в XBMC нет поддержки резюме для музыки - очень не хватает.
Идея: Когда пользователь нажимает "Играть" на папке создаётся рекурсивный плейлист по файлам. Мы делаем его хэш и смотрим есть ли файл с таким именем в папке, если нет - то играем как обычно, сначала. Если есть, то считываем из него номер файла и позицию - спрашиваем у пользователя о продолжении и тд. Когда говорят музыке "Стоп" мы запоминаем в файле номер в плейлисте и позицию в файле. Вопросы: 1 - Если я вызову скрипт по кнопке, как мне узнать из какой папке мне предлагают играть? 2 - Могу я "повесить" вызов скрипта на события "Старт игра"/"Стоп игра" и как мне узнать при этом плейлист, файл и позицию? И самый главный вопрос, может кто лучше меня знает как писать такой дополнений и напишет его, а уж размеры границ, как известно, не знают благодарности в пределах разумного. С уважением, Игорек. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Регистрация: 17.10.2010
Сообщений: 112
|
![]()
Я так понимаю, скриптом эту ошибку не поправить...
Может кто за соответствующие вознаграждение поправит код продукта для тог чтобы реализовать недостающую возможность? Готов подсказать алгоритм и про финансировать проект. Кто знает как данная программа работает и умеет её собирать из исходников? Скооперируемся? |
![]() |
![]() |
![]() |
#3 |
Senior Member
Регистрация: 17.10.2010
Сообщений: 112
|
![]()
Все настолько элементарно....
В файле GUIWindowMusicBase.cpp в функцию: void CGUIWindowMusicBase::PlayItem(int iItem) Где то в середину вот этого кода: CFileItemList queuedItems; AddItemToPlayList(item, queuedItems); if (g_partyModeManager.IsEnabled()) { g_partyModeManager.AddUserSongs(queuedItems, true); return; } /* CStdString strPlayListDirectory = m_vecItems->m_strPath; CUtil::RemoveSlashAtEnd(strPlayListDirectory); */ g_playlistPlayer.ClearPlaylist(PLAYLIST_MUSIC); g_playlistPlayer.Reset(); g_playlistPlayer.Add(PLAYLIST_MUSIC, queuedItems); g_playlistPlayer.SetCurrentPlaylist(PLAYLIST_MUSIC ); (Если, конечно он не сильно отличается от новых версий) Добавить следующий алгоритм: 1 - получить у плеера список файлов который он играет. - сделать по нему хеш 2 - сформировать список файлов по папке - сделать по нему хеш 3 - если списки одинаковые 3.1 - если плеер стоит на паузе - сказать плееру играть и выйти 3.2 - если плеер уже играет - сказать плееру пауза и выйти 4 - если списки разные 4.1 - есть ли файл с именем хеш на диске 4.1.1 - считать из него номер трека и позицию 4.1.2 - запустить список на воспроизведение 4.1.3 - перейти на нужный файл и нужную позицию 4.2 - если нет просто начать играть список сначала 5 - в коде плеера, там где ему говорят стоп, сбросить плей лист, резет и т д. - сохранить в файле с именем хеша от плейлиста номер трека и позицию в файле 6 - в настройках музыки добавить опцию по включению отклюению данной опции 7 - и наконец самое глвное - убедить разработчиков по включении данного патча в проект Игоре |
![]() |
![]() |
![]() |
#4 |
Senior Member
Регистрация: 26.01.2010
Адрес: Растворился
Сообщений: 1,282
|
![]()
Успехов Вам, в расширении возможностей АПИ ХВМС!
Надо бы еще прикрутить регистрацию функция для обработки прерывания типа: перемотка, окончание воспроизведения, начало воспроизведения, перемотка, смена субтитров, громкости и тд... В некоторых злачных ресурсах, типа турбофильма требуется перегенерация URL при перемотке. Есть еще куча проблем ![]()
__________________
https://code.google.com/archive/p/se...iki_Index.wiki |
![]() |
![]() |
![]() |
#5 |
Senior Member
Регистрация: 17.10.2010
Сообщений: 112
|
![]()
На сайте нет программистов компилирующих XBMC, который бы сделал эту фичу за деньги?
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Регистрация: 17.10.2010
Сообщений: 112
|
![]()
Похоже что нет, а жаль....
|
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Музыкальная коллекция | Proxyr | Поддержка платформы Windows | 9 | 27.02.2011 19:10 |