3

我想从 C# 应用程序查询 Windows 7 Media Center 节目指南。例如回答“中间人什么时候在第 4 频道播出?”之类的问题。

我查看了 Media Center SDK(v6 和 v5),但这表明只能使用 Microsoft.MediaCenter.TV.Scheduling 类来请求录制(“点击录制”)。我找不到一种方法来查询和取回节目时间列表而不要求 Media Center 记录一些内容。

一些网络搜索表明我可以打开 Media Center 在幕后使用的 SQLite 数据库(ProgramData\Microsoft\eHome\EPG\epg.sdf)并进行查询。我可以这样做,但是直接访问 Media Center 的数据感觉有点不稳定。

那么,我是否在 .Net API 中遗漏了一些东西?有没有办法在不背着 Media Center 的情况下查询日程安排?

4

1 回答 1

3

TVSchedule似乎是最接近记录(尽管已弃用)的方法。Lineup 类仅用于查找频道。

我还看到了您提到的有关使用 SqlLite 数据库的线程(位于http://discuss.mediacentersandbox.com/forums/thread/559.aspx),但如果您选择使用已弃用的 API 并访问未记录的数据库,我会建议前者。;-) 特别是因为我怀疑数据库格式已经改变(或将在 Win 8 中改变)。

另外,请查看http://mobilewares.spaces.live.com/blog/cns!78533A1A2E078194!4535.entry,这是 Niall Gainsbourg 抱怨最新 SDK 没有任何 EPG 支持的帖子。所以你不是唯一一个在寻找这个的人。

您可能想尝试直接包含 Niall,也许他愿意在此处发布他对访问 EPG 的了解……考虑到他有一个与 EPG 相关的产品出售,我想他会知道他在说什么。:-)

于 2009-09-20T16:51:51.567 回答