2013-04-12 46 views
0

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

有没有一种方法可以将mediaPlayer配置为仅在完全播放视频时才转到下一张照片/视频?

EDIT1:

喜欢的东西:

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; 
    } 
    } 

此代码显然不会工作。这是我想要它做的一个想法。

回答

0

你可以找到,如果你的URL是用IWMPMedia :: getItemInfo,或的getType视频/音频/图片的媒体。

,而不是设置网址在axWindowsMediaPlayer组件:

MyMediaComponent.Url = <MyMediaUrl>; 

您可以创建一个新的这个网址:

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

而且我认为你可以得到你的媒体类型:

MyNewMedia.getType(); 

你可以找到msdn文档here

当您找到媒体类型时,您可以在设置您的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! 

希望我的想法能帮到你。