Je souhaite obtenir des informations sur la piste en cours de lecture dans l'application Microsoft Groove dans ma propre application. Je parle de l'application Groove et non de l'API REST.Récupérer les informations sur les pistes en cours de lecture à partir de l'application Microsoft Groove Music
Ma première approche était d'essayer d'obtenir l'information Windows.Media.Playback.BackgroundMediaPlayer
(maintenant obsolète) de mon propre processus (app). Plus d'informations sur le Windows.Media.Playback.BackgroundMediaPlayer
dans le Dev Center Documentation
L'idée était d'obtenir des informations de BackgroundMediaPlayer.Current
, mais cela ne fonctionne que dans le même processus. Et encore une fois, cela est obsolète de toute façon, maintenant MS recommande d'utiliser la classe Windows.Media.Playback.MediaPlayer
, mais cela n'est également accessible que dans le même processus où le MediaPlayer est utilisé.
La deuxième approche consisterait à obtenir l'information du System Media Transport Controls.
Pour ceux qui ne connaissent pas le SMTC, voici ce que je parle (le petit pop-up lorsque vous sautez/lecture/pause de votre clavier par exemple):
L'article sur SMTC lié ci-dessus montre comment utiliser ces contrôles dans votre application, la chose que je veux faire est fondamentalement le contraire.
Est-ce que quelqu'un a une autre approche qui pourrait fonctionner?
modifier
Je trouve que cela pourrait être possible en utilisant l'interface ISystemMediaTransportControlsInterop
native:
https://msdn.microsoft.com/en-us/library/windows/desktop/dn892315(v=vs.85).aspx
plus exactement la méthode ISystemMediaTransportControlsInterop::GetForWindow
:
https://msdn.microsoft.com/en-us/library/windows/desktop/dn892316(v=vs.85).aspx
Mais je ne sais pas comment appeler cette méthode, quelle bibliothèque utiliser (dll) donc je peux (peut-être) pInvoquer ceci dans mon application C#. Les documents indiquent que cela est inclus dans le Kit de développement Windows 10, mais je ne peux pas savoir où.
Peut-être que je me trompe totalement et peut-être que je ne peux pas l'utiliser en C# (parce que c'est une interface C++). Mais mon idée était que cela doit être compilé dans une bibliothèque et que je peux l'utiliser en utilisant pInvoke.
Ce serait très apprécié si quelqu'un peut m'expliquer cela.
Google: "groove api C#" – apocalypse
@apocalypse, encore une fois, je ne parle pas de l'API Groove REST, s'il vous plaît relire mon message. Je parle des informations de piste en cours de lecture, dont l'API Groove REST ne sait rien. L'API REST est uniquement pour rechercher des informations sur * toute * chanson dans la bibliothèque Groove, pas les informations de piste de la chanson que vous jouez dans l'application Groove. –