gpt4 book ai didi

c# - 在不播放的情况下获取视频时长?

转载 作者:行者123 更新时间:2023-11-30 14:36:23 25 4
gpt4 key购买 nike

我正在使用 MediaTimelineMediaClock 来控制 WMV 视频播放。

Timeline = new MediaTimeline(new Uri(VideoFileName));
Clock = Timeline.CreateClock(true) as MediaClock;

当我查看 Clock.NaturalDuration 时,值设置为 Automatic 而不是还包含持续时间 TimeSpan

当我将 Clock 分配给 MediaElement 并且视频开始播放时,我现在可以看到 NaturalDuration.TimeSpan 存在并且正常。

除了为媒体元素分配时钟并播放之外,还有其他方法可以获取视频持续时间吗?

有没有办法在不使用媒体元素的情况下获得持续时间(这将是最好的)?

最佳答案

我有类似的需要检查视频长度,所以我读到这个属性在引发 MediaOpened 事件时可用,否则设置为自动 - 阅读这个 http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.naturalduration(v=vs.95).aspx

media.MediaOpened += new System.Windows.RoutedEventHandler(media_MediaOpened);
media.LoadedBehavior = MediaState.Manual;
media.UnloadedBehavior = MediaState.Manual;
media.Play();

void media_MediaOpened( object sender, System.Windows.RoutedEventArgs e )
{
progress.Maximum = (int)media.NaturalDuration.TimeSpan.TotalSeconds;
timer.Start();
isPlaying = true;
}

关于c# - 在不播放的情况下获取视频时长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10627217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com