0

我有一个 Windows 窗体,aXWindowsMediaPlayer它应该使用该方法每 5 秒播放一次随机视频/图片aXWindowsMediaPlayer.Url = <video/image file location>。这适用于图片,但是当视频较长时,它只会播放 5 秒而不是完整长度,对于较短的视频也是如此,它将播放完整视频,而其他几秒钟则黑屏。

有没有办法将 mediaPlayer 配置为仅在完整播放视频后才转到下一张图片/视频?

编辑1:

就像是:

    Timer_TickEvent()//Every 5 seconds it chooses a random given URL
    {
       axWindowsMediaPlayer1.URL = <Random URL>;
       if(<Random URL> == 'A video?')
       {
             timer.Enabled = false;
             PlayVideoLength();
       }
    }
    Private void PlayVideoLength()
    {
     if('<Random URL.Length> ?' == 'the length of the played video in axWindowsMediaPlayer1 ?')
     {
          Timer.enabled = true;
     }
    }

这段代码显然行不通。这是我想要它做什么的想法。

4

1 回答 1

0

您可以找到您的 URL 是否是具有IWMPMedia::getItemInfogetType的视频/音频/图片媒体。

而不是在您的 axWindowsMediaPlayer 组件中设置 Url :

 MyMediaComponent.Url = <MyMediaUrl>;

您可以使用此 URL 创建一个新的:

WMPLib.IWMPMedia MyNewMedia = MyMediaComponent.newMedia(<MyMediaUrl>);

而且我认为您可以通过以下方式获得媒体类型:

MyNewMedia.getType();

您可以在此处找到 msdn 文档。

当您找到您的媒体类型后,您可以在设置您的 URL 之前测试您的媒体类型!

/* It is just a suggestion, this code don't work! */
if ( MyNewMedia.getType() == <A photo MEDIA code>)
{
    // Set the URL for show the picture
    MyMediaComponent.Url = <MyMediaUrl>;
    return;
}

//else

// This media is not a picture!

希望我的想法对你有所帮助。

于 2013-07-30T15:37:20.107 回答