【问题标题】:Programmatically Controlling Windows Media Player, Preferably From Java以编程方式控制 Windows Media Player,最好使用 Java
【发布时间】:2010-10-17 05:29:24
【问题描述】:

我正在向已广泛部署的现有 Java 应用程序添加功能。 (因此,除非我有一个认真令人信服的理由,否则我无法触及一些设计决策。)该应用程序控制一台 PC 向小型本地电视网络广播音频和视频。目前,它主要播放静态幻灯片,但也可以根据客户的判断播放背景音乐。背景音乐(CD、本地音乐文件、互联网广播等)由 Windows Media Player 处理。

我目前的项目是为静态幻灯片添加旁白。当旁白播放时,我需要发送某种 STFU 信号来暂时静音或静音 WMP 输出。所以我的核心问题是:实现这一目标的最佳方法是什么?

我知道 WMP 有一个 ActiveX 接口,但我没有使用 ActiveX/COM 的经验。当然,我可以(并且可能会)学习,但在这一点上,我还不能很好地区分简单的解决方案、技术上可行但痛苦的解决方案,以及实际上是死胡同的“解决方案”。

基于 Java 的解决方案是否需要我像 Jacob 那样使用 Java->ActiveX 桥接器?还是说太过分了?

或者,我是不是完全找错了树?我当然愿意部署完全用另一种语言编写的小型命令行可执行文件,然后通过 Runtime.exec() 访问它们。这是(比如说)VisualBasic 让污垢变得简单的那种东西吗? (VB 也不在我的技能范围内,但如果它是适合这项工作的工具,我会学习。我只是不知道它是否是正确的工具。谷歌给了我很多将 WMP 整合到 VB GUI 中的例子; VB 命令行脚本,没那么多。)

最后一点:WMP 实例将由用户启动,而不是由 Java 应用程序启动。不知道这是否有区别,但认为值得一提。

我提前感谢任何人可以提供给我的任何见解。

【问题讨论】:

    标签: java windows-media-player


    【解决方案1】:

    您最好的选择是使用 Jacob(或其他一些 Java/COM 桥);我假设您不想只是将系统音量静音。

    【讨论】:

    • 肯定的。使系统音量静音也会使旁白静音,这会破坏目的。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 2014-06-05
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多