【问题标题】:Interop with existing Windows Media Player与现有的 Windows Media Player 互操作
【发布时间】:2012-04-28 08:52:06
【问题描述】:

我一直在研究,但无法确定如何在 Windows Media Player 中播放特定视频。

使用 WM_Command 可以播放/暂停现有视频,但还没有找到通过 Windows 消息播放特定视频文件的方法。

有什么想法吗?

【问题讨论】:

    标签: c# winapi media-player


    【解决方案1】:

    使用 DirectX AudioVideoPlayback:

    http://msdn.microsoft.com/en-us/library/bb324497(VS.85).aspx

    [C#]using Microsoft.DirectX.AudioVideoPlayback;
    public class MyVideoPlayer : System.Windows.Forms.Form
    {
        /* ... */
        private void OpenFile()
        {
            try
            {
                Video ourVideo = new Video("C:\\Example.avi");
                /* ... */
            }
        }
        /* ... */
    }
    

    【讨论】:

    • 有趣,这个会在 Windows Media Player 或默认媒体播放器中播放吗?
    • API 没有详细说明,但我相信这将是默认设置。优点是 DirectX 可能无处不在,而且您可以获取特定对象,如 Video.Audio 来管理音频流属性(音量等)。
    【解决方案2】:

    您可以在您的应用中创建一个 WMP 实例,然后通过 IWMPPlayerApplication::switchToPlayerApplication undock the player

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多