我正在尝试使用 C# 应用从我的个人最爱 Media Player Classic 中获取媒体信息。
假设我得到了我感兴趣的 MPC-HC 实例的窗口句柄,但 WM_GETTEXT 只得到了窗口标题。我不满足于此。我还想获取播放状态(停止/暂停/播放)、当前时间、总长度和文件路径。我应该能够从文件中获取所有其他内容,知道它的路径。
我想到的第一件事是使用 AutoIt Window Info 应用程序,它可以在其 Visible Text 选项卡中获得我想要的东西,我可以使用它作为获取文本的工具,但我如何将 那个 文本直接发送到我的 C# 应用程序进行解析?
我想找到一种不涉及干扰用户事件的解决方案,例如强行将播放器的窗口置于前面。我只想在我的 C# 应用程序中获取当前时间、播放状态和完整文件路径。有没有简单的方法可以做到这一点?
请您参考如下方法:
我发现通过启用 MPC-HC 网络界面,一个漂亮的页面会出现,其中包含我需要的所有当前播放器的统计信息,地址为:http://localhost:13579/variables.html( 13579 是默认端口,但您可以在选项中更改它)。选中仅允许从本地主机访问以保护您的 secret 音乐欲望;)
该页面上的 HTML 有点像这样:
<html>
<head>
<title>MPC-HC WebServer - Variables</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="default.css">
</head>
<body>
<p id="filepatharg">C:\music.mp3</p>
<p id="filepath">C:\music.mp3</p>
<p id="filedirarg">C:\</p>
<p id="filedir">C:\</p>
<p id="state">1</p>
<p id="statestring">Paused</p>
<p id="position">85918</p>
<p id="positionstring">00:01:25</p>
<p id="duration">284525</p>
<p id="durationstring">00:04:44</p>
<p id="volumelevel">50</p>
<p id="muted">0</p>
<p id="playbackrate">1</p>
<p id="reloadtime">0</p>
</body>


