首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在视频中播放不同的片段

在视频中播放不同的片段
EN

Stack Overflow用户
提问于 2012-06-13 04:03:37
回答 1查看 370关注 0票数 0

我想开发一个视频播放器,它必须在视频中发挥不同的部分(由他们的开始和结束的位置指定)。为此,我使用了directx.audiovideoplayback动态链接库。开始和结束位置存储在一个数组中。eg- {2,6,8,19}告诉必须播放2到6秒之间的片段,然后播放8到19秒。

我的问题是,尽管我给出了条件,如果(video_obj.CurrentPosition==endtime) video_obj.Stop();视频不会停止..视频正在从第二个位置播放到文件末尾。

代码是

代码语言:javascript
复制
 public static int[] seconds = { 3,8,12,16};
    public static int start, end;
    private void btnPlay_Click(object sender, EventArgs e)
    {
        vdo.Owner = panel1;
        panel1.Width = 300;
        panel1.Height = 150;
        vdoTrackBar.Minimum = 0;
        vdoTrackBar.Maximum = Convert.ToInt32(vdo.Duration);

        if (vdo != null)
        {
            vdo.Play();
            timer1.Start();
        }
    }
private void vdoTrackBar_Scroll(object sender, EventArgs e)
    {
        if (vdo != null)
        {
            vdo.CurrentPosition = vdoTrackBar.Value;
        }
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        int i;
        for (i = 0; i < seconds.Length; i = i + 2)
        {
            start = seconds[i];
            vdo.CurrentPosition = start;
            end = seconds[i + 1];
            vdoTrackBar.Value = (int)vdo.CurrentPosition;

            MessageBox.Show("Starts at " + vdo.CurrentPosition + " and Ends at " + end);
            if (vdo.Paused)
                vdo.Play();
            if (vdo.Playing)
            {
                if (vdo.CurrentPosition == vdo.Duration)
                {
                    timer1.Stop();
                    vdo.Pause();
                    vdoTrackBar.Value = 0;
                }
                if (vdo.CurrentPosition == end)
                {
                    timer1.Stop();
                    vdo.Pause();
                }

                vdoTrackBar.Value += 1;
            }
        }  

帮助!哪里出了问题,而我对此一无所知,我该如何纠正?视频开始播放时

EN

回答 1

Stack Overflow用户

发布于 2012-06-13 14:43:37

因此,帖子中仍然没有足够的信息来真正明确地说明哪里出了问题。我猜你的计时器没有足够的分辨率来准确地计时,因为计时器计时中的for循环与视频的当前位置重合。

计时器多久一次滴答作响?视频当前位置的精度是多少?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11003978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档