C#gifmedilement如何改变位置我只是想改变gif在MediaElement中的位置,所以当我没有用鼠标悬停它时,它应该会显示一些图像GIF(选定位置),当我将光标移动到MediaElement时,GIF应该从位置零开始比赛。但是我根本无法改变GIF的位置。它开始播放,我可以暂停它,但是设置位置和stop()方法根本没有效果。XAML代码:基本代码:publicUserWindow(){InitializeComponent();}privatevoidmediaElement_Loaded(objectsender,RoutedEventArgse){mediaElement.Play();mediaElement.Position=TimeSpan.FromMilliseconds(100);mediaElement.Pause();}privatevoidmediaElement_MouseEnter(objectsender,MouseEventArgse){mediaElement.Play();mediaElement.Position=TimeSpan.Zero;}privatevoidmediaElement_MouseLeave(objectsender,MouseEventArgse){mediaElement.Position=TimeSpan.Zero;。暂停();MediaElement需要功能才能改变位置?变化:正如我所建议的:MediaFailed="mediaElement_MediaFailed"然后:privatevoidmediaElement_MediaFailed(objectsender,ExceptionRoutedEventArgse){MessageBox.Show("failed");但它没有出现,我不知道该怎么办。然后gif工作正常还是可能导致这个?我是否需要以特殊方式下载GIF以确保它支持正确的功能?我尝试了不同的GIF,但仍然无法正常工作。令人惊讶的是,互联网上还没有人报告过这一点,许多人说它有效,但实际上不可能更改在MediaElement中运行的gif的位置。我的问题上面的常规方法适用于*.mp4,但不适用于GIF。为了说服您放轻松,请尝试在WindowsMediaPlayer中播放GIF。由于MediaElement非常薄,包裹在WindowsMediaPlayer中,您将看到相同的结果,更改位置被禁用。有一种非常丑陋的方法可以重置gif以从头开始播放它,但如果您有其他选择,我不建议使用它。这可以应用于任何事件/触发器。privatevoidmediaElement_MediaEnded(objectsender,RoutedEventArgse){if(mediaElement.Source.ToString()=="file:///C:/temp/newGif1.gif"){mediaElement.Source=newUri("C:\temp\newGif.gif");mediaElement.Play();}else{mediaElement.Source=newUri("C:\temp\newGif1.gif");mediaElement.Play();唯一的方法是重置源以从头开始gif,但您需要gif的副本,因为如果MediaElement是相同的源,则不会更新源。在generell中设置MediaElement源时,您必须设置完整路径。在XAML中,您可以从PC上的任何位置选择一个gif,无需将其设置为项目中的资源。但是在普通代码中设置源需要将gif设置为项目中的资源。所以通常它不像示例中那样,而是类似于C:UsersUnknownUserDocumentsVisualStudio2015ProjectsRandomTestProjectRessources。如果您不依赖于使用GIF,我建议您使用*.mp4,因为它更容易处理并且可以按预期工作,您可以将*.gif转换为*.mp4。以上就是C#学习教程的全部内容:C#gifmedialement如何改变位置共享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
