如何在Vista Media Center中获取当前正在播放的文件的文件名?
时间:2020-03-06 15:03:37 来源:igfitidea点击:
我有Windows Vista MCML应用程序,需要确定正在播放的文件的当前名称。
Media Center SDK暗示使用MediaMetadata [" Title"]来获取此信息,不幸的是,这不适用于播放列表(.wpl)文件,因为没有方法来获取播放列表中的位置。
解决方案
你有没有尝试过:
MediaContext.GetProperty(TrackTitle)
我还看到了一些示例,这些示例在媒体显示布局文件的标记中指定了以下元素:
<music-title duration = "2000" x="69" y="29" width="187" height="20"/>
祝你好运!
事实证明,这不容易做到。
有4个选项。
- 切勿使用播放列表,在这种情况下,MediaMetadata [" Title"]就足够了。
- 检查ehshell.exe中的远程文件句柄。
- 在ehshell.exe中注入一个远程线程,建立通信并使用反射来读取它。
- 编写DirectShow过滤器并与其通信。
更新:Windows 7中已修复此问题。目前尚不清楚是否将其重新移植到Vista MCE。
第二次更新:看起来微软在最近的修复程序中更改了MediaMetadata [" Title"]的行为,现在它既返回不带扩展名的文件名,又返回播放列表名称。