2009-09-20 11 views
3

Je voudrais interroger le Guide des programmes Windows 7 Media Center à partir d'une application C#. par exemple. pour répondre à des questions comme "Quelle heure est L'Inbetweeners prochain affichage sur le canal 4?". J'ai parcouru le SDK Media Center (v6 et v5) mais cela suggère qu'il est seulement possible d'utiliser les classes Microsoft.MediaCenter.TV.Scheduling pour demander des enregistrements ("Click-to-record"). Je n'arrive pas à trouver une méthode pour interroger et récupérer une liste d'heures de diffusion sans demander à Media Center d'enregistrer quelque chose. Un peu de recherche sur le Web suggère que je pourrais ouvrir la base de données SQLite que Media Center utilise dans les coulisses (ProgramData \ Microsoft \ eHome \ EPG \ epg.sdf) et interroger cela. Je pourrais le faire, mais il me semble un peu flou d'accéder directement aux données de Media Center.Existe-t-il une API .Net pour interroger le Guide du programme Windows 7 Media Center?

Alors, est-ce qu'il me manque quelque chose dans l'API .Net? Existe-t-il un moyen d'interroger le planning sans passer derrière Media Center?

Répondre

3

Le TVSchedule class semble être le moyen documenté le plus proche (quoique déconseillé) de le faire. Le Lineup class ne fonctionne que pour rechercher des chaînes.

J'ai également vu le fil que vous avez mentionné à propos de l'utilisation de la base de données SqlLite (à http://discuss.mediacentersandbox.com/forums/thread/559.aspx) mais si votre choix utilise une API obsolète et accède à une base de données non documentée, je suggérerais le premier. ;-) Surtout que je soupçonne que le format de la base de données a déjà changé (ou va changer dans Win 8).

En outre, consultez http://mobilewares.spaces.live.com/blog/cns!78533A1A2E078194!4535.entry qui est le post de Niall Gainsbourg se plaindre du dernier SDK ne disposant d'aucun support EPG. Donc vous n'êtes pas le seul à chercher ça. Vous voudrez peut-être essayer de contenir Niall directement, peut-être qu'il serait prêt à afficher ce qu'il sait sur l'accès à l'EPG ici ... étant donné qu'il a un produit lié à l'EPG à vendre, j'imagine qu'il saurait il parle de. :-)

+0

Merci, la TVSchedule ressemble à ce dont j'ai besoin, mais a été abandonnée et j'essaie de ne pas être méchant. MSDN recommande d'utiliser la classe ScheduleEvent à la place, mais je ne vois pas comment l'utiliser pour faire une requête. La classe Lineup semble être juste pour résoudre les noms de canaux. – RobotEdward

+0

Oui. L'API est sévèrement limitée. J'ai mis à jour ma réponse avec plus d'informations. Voir au dessus. –

+0

Donc, pour résumer, il semble que les options dans Windows 7 Media Center SDK actuelle sont les suivants: 1. Utilisez la classe TVSchedule dépréciée 2. Interrogez SQLite DB directement 3. Abandonner :) Merci pour la suite en haut – RobotEdward