我正在与 XBMC 合作。我已经在我的系统中安装了 XBMC(Windows 7、32 位)。Xbmc 在我的系统中运行良好。我开发了一个应用程序,以便从 Ipad 远程控制 Xbmc。为了从 Xbmc 检索音乐文件或视频文件,我无法。通过搜索xbmc的论坛,我发现我们可以编写一个sql查询来获取它们。但是,问题是我无法确定数据库在我的系统中的位置。有人帮我看看在哪里可以找到它。
问候,苏什玛。
我正在与 XBMC 合作。我已经在我的系统中安装了 XBMC(Windows 7、32 位)。Xbmc 在我的系统中运行良好。我开发了一个应用程序,以便从 Ipad 远程控制 Xbmc。为了从 Xbmc 检索音乐文件或视频文件,我无法。通过搜索xbmc的论坛,我发现我们可以编写一个sql查询来获取它们。但是,问题是我无法确定数据库在我的系统中的位置。有人帮我看看在哪里可以找到它。
问候,苏什玛。
默认情况下,数据库的位置是 wiki 页面XBMC 数据库中描述的位置, 但实际位置可以由用户更改,或者可以完全使用不同的数据库技术。
会影响这一点的设置位于advancedsettings.xml中。
但总的来说,XBMC 开发人员建议不要直接访问数据库。
为了帮助与数据库交互,XBMC 支持 JSONRPC 查询,其中一个缺点是 XBMC 需要同时运行才能响应这些查询。主要优点是 XBMC 将为您找到数据库并通过通用接口公开对它的访问。
JSONRPC 支持首先在“Darhma”(v10)中添加到 XBMC,在“Eden”(v11)中变得非常有用,并且将在“Frodo”(v12)中支持几乎所有可能的东西。有关 JSONRPC 使用的信息可以在 wiki中找到。
在此示例中,我假设您的目标是“Eden”,这是 XBMC 的当前稳定版本。我还用新行格式化了以下内容,这些不是必需的,也不存在于 XBMC 的响应中。
如果您要使用 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 上播放文件时,最好使用此方法。
这很简单,使用您之前在以下请求中收到的“movieid”:
{
"jsonrpc": "2.0",
"method": "Player.Open",
"params": {
"item": {
"movieid": 2
}
},
"id": 1
}
最后,我会注意到电视剧集的命令与电影相同。