如何在Vista Media Center中获取当前播放文件的文件名?

时间:2008-10-03 03:15:48

标签: c# .net mcml

我有Windows Vista MCML应用程序,我需要找出播放文件的当前名称。

Media Center SDK暗示使用MediaMetadata [“Title”]来获取此信息,遗憾的是,这不适用于播放列表(.wpl)文件,因为没有方法可以获取播放列表中的位置。

2 个答案:

答案 0 :(得分:1)

原来这个can not be easily done

有4种选择。

  1. 从不使用播放列表,在这种情况下,MediaMetadata [“Title”]就足够了。
  2. 检查ehshell.exe中的远程文件句柄。
  3. 在ehshell.exe中注入远程线程,建立通信并使用反射来读取它。
  4. 编写DirectShow过滤器并与之通信。
  5. 更新:这已在Windows 7中修复。目前还不清楚它是否会重新移植到Vista MCE。

    第二次更新:看起来Microsoft已在最近的修补程序中更改了MediaMetadata [“Title”]的行为,它现在返回没有扩展名的文件名和播放列表名称。

答案 1 :(得分:0)

你试过了吗?

MediaContext.GetProperty(TrackTitle)

我还看过样本,在媒体显示布局文件的标记中,他们指定了一个元素,如:

<music-title duration = "2000" x="69" y="29" width="187" height="20"/>

祝你好运!