日期:2014-05-20  浏览次数:20965 次

WPF MediaElement怎么播放指定的间隔的视频
比如我有一个视频,总共40s,现在我希望播放10s -- 20s 下次我希望播放20s - 30秒

怎么实现,大家有办法么?

------解决方案--------------------
从来不用wpf,给你搜一个silverlight的msdn解释:
http://msdn.microsoft.com/zh-cn/library/system.windows.controls.mediaelement.position(v=vs.95).aspx
------解决方案--------------------
呵呵如果你对20s特别想“不停比较”,那么干脆在 CurrentStateChanged 事件中判断状态为 Playing 之后只是启动一个阻塞19s的DispatcherTimer好了,然后19s之后你才按照你说的每隔几十毫秒就“不停比较”、判断 Position 也可以。

Positon 属性是既可以写,也可以读的。
------解决方案--------------------
你试试
HTML code
<MediaElement Height="120" HorizontalAlignment="Left" Margin="152,49,0,0" Name="mediaElement1" MediaOpened="mediaElement1_MediaOpened" VerticalAlignment="Top" Width="160">
            <MediaElement.Triggers>
            <EventTrigger>
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard>
                            <MediaTimeline Source="视频路径" Storyboard.TargetName="mediaElement1" CurrentTimeInvalidated="MediaTimeline_CurrentTimeInvalidated"/>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
            </MediaElement.Triggers>
        </MediaElement>

------解决方案--------------------
探讨
引用:

前台加上一个属性 LoadedBehavior
HTML code
<MediaElement LoadedBehavior="Manual" />


C# code

MediaClock mc;
int judge = 0;
private void MediaTimeline_CurrentTimeInvalidated……