0

ビデオのさまざまな部分を再生する必要があるビデオ プレーヤーを開発したいと考えています (開始位置と終了位置で指定)。この目的で directx.audiovideoplayback dll を使用しています。開始位置と終了位置は配列に格納されます。例- {2,6,8,19} は、2 秒から 6 秒の間のセグメントを再生し、次に 8 秒から 19 秒を再生する必要があることを示します。

私の問題は、if(video_obj.CurrentPosition==endtime) video_obj.Stop(); という条件を与えているにもかかわらずです。ビデオは停止していません。ビデオは 2 番目の位置からファイルの最後まで再生されています。

コードは

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

ヘルプ!どこかで何かが間違っていて、それについての手がかりがありません。どうすれば修正できますか? ビデオの再生が始まる

4

1 に答える 1

0

そのため、この投稿には、何がうまくいかないのかを本当に明確に述べるのに十分な情報がまだありません. タイマーの目盛りの for ループがビデオの現在の位置と一致するときに正確に刻むために、タイマーが十分な解像度で刻んでいないと思います。

タイマーはどのくらいの頻度で作動しますか? 動画の現在位置の精度は?

于 2012-06-13T06:43:37.200 に答える