Сама база данных
По умолчанию расположение базы данных соответствует описанному на вики-странице Базы данных XBMC , но фактическое местоположение может быть изменено пользователем или другой технологией базы данных.может использоваться полностью.
Настройки, которые могут повлиять на это, находятся в advancedsettings.xml .
Но в общем случае разработчики XBMC советуют:никогда не обращайтесь к базе данных напрямую .
JSONRPC
Чтобы помочь взаимодействию с базой данных, XBMC поддерживает запросы JSONRPC, одним из их недостатков является то, что XBMC должен быть запущенв то время, чтобы ответить на эти запросы.Основным преимуществом является то, что XBMC найдет для вас базу данных и предоставит доступ к ней с помощью общего интерфейса.
Поддержка JSONRPC была впервые добавлена в XBMC в «Darhma» (v10), стала действительно полезной в «Eden»."(v11) и будет поддерживать почти все возможное в" Frodo "(v12).Информацию об использовании JSONRPC можно найти в вики .
Пример
В этом примере я предполагаю, что вы нацелены на "Eden", текущийстабильный выпуск XBMC.Также я отформатировал следующее с новыми строками, они не обязательны и не присутствуют в ответе от XBMC.
Request
Если бы вы использовали JSONRPC, запрос, который вам нужно было бы отправитьбудет выглядеть примерно так:
{
"jsonrpc": "2.0",
"method": "VideoLibrary.GetMovies",
"params": {
"properties": [
"title",
"year",
"file"
],
"limits": {
"start": 0,
"end": 2
}
},
"id": 1
}
Примечание. Если вам нужна разная информация о каждом фильме, вы можете использовать другие свойства , перечисленные здесь . * Примечание.чтобы пропустить часть «лимиты», чтобы получить все фильмы. *
Ответ
Ответ на это будет примерно таким:
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"limits": {
"end": 2,
"start": 0,
"total": 47
},
"movies": [
{
"label": "Label for movie",
"movieid": 1,
"title": "Title of movie",
"year": 2012
},
{
"label": "Label for another movie",
"movieid": 2,
"title": "Title of another movie",
"year": 2010
},
{
"label": "Label for a third movie",
"movieid": 3,
"title": "Title of a third movie",
"year": 2012
}
]
}
}
Что теперь делать?
У вас есть выбор на данный момент, вы можете либо:
- Добавить «файл» в список свойств, это вернет свойство «файл», местоположение видеофайл.
Используйте JSONRPC, чтобы сообщить xbmc о воспроизведении фильма.
Использование этого метода лучше всего, когда вы не хотите воспроизводить файл локально (на iPad) но вместо этого на XBMC.
Воспроизведение фильма на XBMCчерез JSONRPC
Это довольно просто, используйте "movieid", который вы получили ранее в следующем запросе:
{
"jsonrpc": "2.0",
"method": "Player.Open",
"params": {
"item": {
"movieid": 2
}
},
"id": 1
}
Наконец, я хотел бы отметить, что есть эквивалентные команды для телевизионных эпизодов, как показано дляфильмы.