データベース自体
デフォルトでは、データベースの場所は wiki ページXBMC データベースで説明されている場所
ですが、実際の場所はユーザーが変更したり、別のデータベース テクノロジを完全に使用したりできます。
これに影響する設定は、advancedsettings.xmlにあります。
しかし、一般に、XBMC 開発者はデータベースに直接アクセスしないようにアドバイスしています。
JSONRPC
データベースとの対話を支援するために、XBMC は JSONRPC クエリをサポートしていますが、これらの 1 つの欠点は、これらのクエリに応答するために XBMC を同時に実行する必要があることです。主な利点は、XBMC がデータベースを見つけて、共通のインターフェイスでそのデータベースへのアクセスを公開することです。
JSONRPC サポートは、"Darhma" (v10) で XBMC に最初に追加され、"Eden" (v11) で非常に便利になり、"Frodo" (v12) で可能なほとんどすべてをサポートします。JSONRPC の使用に関する情報は wiki にあります。
例
この例では、XBMC の現在の安定版リリースである「Eden」をターゲットにしていると想定しています。また、次の行を新しい行でフォーマットしました。これらは必須ではなく、XBMC からの応答には含まれていません。
リクエスト
JSONRPC を使用する場合、送信する必要があるリクエストは次のようになります。
{
"jsonrpc": "2.0",
"method": "VideoLibrary.GetMovies",
"params": {
"properties": [
"title",
"year",
"file"
],
"limits": {
"start": 0,
"end": 2
}
},
"id": 1
}
注: 映画ごとに異なる情報が必要な場合は、ここにリストされている他のプロパティを使用できます。
*注: すべてのムービーを取得するには、"limits" の部分を省略した方がよいでしょう。*
応答
これに対する応答は次のようになります。
{
"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 で再生する場合に最適です。
JSONRPC を介して XBMC でムービーを再生する
これは非常に簡単です。以前に受け取った「movieid」を次のリクエストで使用します。
{
"jsonrpc": "2.0",
"method": "Player.Open",
"params": {
"item": {
"movieid": 2
}
},
"id": 1
}
最後に、映画の場合と同じように、TV エピソードにも同等のコマンドがあることに注意してください。